[agc016e]poor turkeys
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[agc016e]poor turkeys相关的知识,希望对你有一定的参考价值。
鏍囩锛?a href='http://www.mamicode.com/so/1/continue' title='continue'>continue
pac font stream code tin 缁存姢 span 浜屾棰樻剰锛?/h1>
鏈塶鍙浮锛屽紑濮嬮兘娲荤潃銆傝鎸夋椂闂村悆m娆¢浮锛屾瘡娆¢€変袱鍙紝鑻ヤ袱鍙兘娲荤潃鍒欓殢渚垮悆涓€涓紝鑻ュ彧鏈変竴鍙椿鐫€灏卞悆娲荤殑閭d釜锛屽鏋滄鍏変簡灏变笉鍚冦€傞棶鏈€鍚庡彲鑳芥湁澶氬皯瀵归浮鍚屾椂瀛樻椿锛堜笉鑰冭檻椤哄簭锛?/span>
$2leq nleq 400$
$1leq mleq 10^5$
棰樿В锛?/h1>
濡欏晩鎬濆崥棰樸€傝€冭檻涓€鐩撮浮$x$锛屽鏋滆娲讳笅鏉ラ偅涔堝湪鏈€鍚庝竴娆′簩閫変竴鐨勬椂鍊欏彟澶栦竴鍙浮涔熻娲荤潃锛屽€掓暟绗簩娆$殑鏃跺€欏彟澶栭偅鍙浮涔熻娲荤潃……鍗虫寜鐓ф椂闂村€掕繃鏉ワ紝鍙﹀鐨勪竴浜涢浮蹇呴』瑕佹椿鐫€锛?x$鎵嶈兘娲讳笅鏉ワ紝璁捐繖浜涘繀椤绘椿涓嬫潵鐨勯浮涓?x$鐨勫瓨娲婚泦鍚堛€傞偅涔堜袱鍙浮鍚屾椂瀛樻椿涓嬫潵鐨勬潯浠跺氨鏄綋涓斾粎褰撲袱鍙浮閮芥湁鍙兘瀛樻椿涓旂浉浜掍箣闂寸殑瀛樻椿闆嗗悎娌℃湁浜ら泦锛屽惁鍒欏繀瀹氭湁涓€鍙鍚冦€?/span>
鐩存帴鏆村姏缁存姢瀛樻椿闆嗗悎锛屾椂闂村鏉傚害$O(n^3+nm)$锛屼笉鐭ラ亾涓轰粈涔堣窇鐨勯蹇?/span>
浠g爜锛?/h1>
1 #include<iostream>
2 #include<cstring>
3 #include<cstdio>
4 #include<cmath>
5 using namespace std;
6 int n,m,ans=0,a[100001],b[100001];
7 bool ok[1001],st[1001][1001];
8 int main(){
9 scanf("%d%d",&n,&m);
10 for(int i=1;i<=m;i++){
11 scanf("%d%d",&a[i],&b[i]);
12 }
13 for(int i=1;i<=n;i++){
14 st[i][i]=1;
15 for(int j=m;j;j--){
16 int x=st[i][a[j]],y=st[i][b[j]];
17 if(x&&y){
18 ok[i]=true;
19 break;
20 }else{
21 if(x)st[i][b[j]]=1;
22 if(y)st[i][a[j]]=1;
23 }
24 }
25 }
26 for(int i=1;i<n;i++){
27 if(ok[i])continue;
28 for(int j=i+1;j<=n;j++){
29 if(ok[j])continue;
30 int tmp=1;
31 for(int k=1;k<=n;k++){
32 if(st[i][k]&&st[j][k]){
33 tmp=0;
34 break;
35 }
36 }
37 ans+=tmp;
38 }
39 }
40 printf("%d",ans);
41 return 0;
42 }
1 #include<iostream>
2 #include<cstring>
3 #include<cstdio>
4 #include<cmath>
5 using namespace std;
6 int n,m,ans=0,a[100001],b[100001];
7 bool ok[1001],st[1001][1001];
8 int main(){
9 scanf("%d%d",&n,&m);
10 for(int i=1;i<=m;i++){
11 scanf("%d%d",&a[i],&b[i]);
12 }
13 for(int i=1;i<=n;i++){
14 st[i][i]=1;
15 for(int j=m;j;j--){
16 int x=st[i][a[j]],y=st[i][b[j]];
17 if(x&&y){
18 ok[i]=true;
19 break;
20 }else{
21 if(x)st[i][b[j]]=1;
22 if(y)st[i][a[j]]=1;
23 }
24 }
25 }
26 for(int i=1;i<n;i++){
27 if(ok[i])continue;
28 for(int j=i+1;j<=n;j++){
29 if(ok[j])continue;
30 int tmp=1;
31 for(int k=1;k<=n;k++){
32 if(st[i][k]&&st[j][k]){
33 tmp=0;
34 break;
35 }
36 }
37 ans+=tmp;
38 }
39 }
40 printf("%d",ans);
41 return 0;
42 }
以上是关于[agc016e]poor turkeys的主要内容,如果未能解决你的问题,请参考以下文章