生活随笔
收集整理的這篇文章主要介紹了
Acwing第 32 场周赛【完结】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 4203. 尋找子串【水題】
- 4204. 構造矩陣【構造】
- 4205. 樹的增邊【二分圖】
4203. 尋找子串【水題】
https://www.acwing.com/problem/content/4206/
#include<bits/stdc++.h>
using namespace std
;
int main(void)
{string s
; cin
>>s
;if(s
.find("1111111")!=-1||s
.find("0000000")!=-1) puts("YES");else puts("NO");return 0;
}
4204. 構造矩陣【構造】
https://www.acwing.com/problem/content/4207/
#include<bits/stdc++.h>
using namespace std
;
const int N
=1e3+10;
int a
[N
][N
],b
[N
],n
;
int main(void)
{cin
>>n
;n
=n
-1;for(int i
=0;i
<n
;i
++) b
[i
]=i
+1;for(int i
=0;i
<n
;i
++)for(int j
=0;j
<n
;j
++)a
[i
][(j
-i
+n
)%n
]=b
[j
];for(int i
=0;i
<n
;i
++) { a
[i
][n
]=a
[i
][i
],a
[n
][i
]=a
[i
][i
];a
[i
][i
]=0;}for(int i
=0;i
<n
+1;i
++){for(int j
=0;j
<n
+1;j
++){cout
<<a
[i
][j
]<<" ";}cout
<<endl
;}return 0;
}
4205. 樹的增邊【二分圖】
https://www.acwing.com/problem/content/4208/
求出來兩集合的點的個數a,b,那么邊的個數即為a*b 再減去已經有的邊。
#include<bits/stdc++.h>
using namespace std
;
const int N
=1e5*4+10;
int h
[N
],e
[N
],ne
[N
],idx
;
int n
,m
;
void add(int a
,int b
)
{e
[idx
]=b
,ne
[idx
]=h
[a
],h
[a
]=idx
++;
}
void dfs(int u
,int fa
,int c
)
{if(c
) m
++;for(int i
=h
[u
];i
!=-1;i
=ne
[i
]){int j
=e
[i
];if(fa
==j
) continue;dfs(j
,u
,!c
);}
}
int main(void)
{cin
>>n
;memset(h
,-1,sizeof h
);for(int i
=1;i
<=n
-1;i
++){int a
,b
; cin
>>a
>>b
;add(a
,b
),add(b
,a
);}dfs(1,-1,0);cout
<<1ll*m
*(n
-m
)-(n
-1);return 0;
}
總結
以上是生活随笔為你收集整理的Acwing第 32 场周赛【完结】的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。