Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:案例能过...就是WA..快疯了...大牛帮看看吧..T TIn Reply To:案例能过...就是WA..快疯了...大牛帮看看吧..T T Posted by:a65982021 at 2012-08-02 11:22:59 > #include<iostream> > using namespace std; > int father[200050]; > int a,b; > int m,n; > void init(int x) > { > father[x]=x; > } > int find(int x) > { > if(x!=father[x]) > { > father[x]=find(father[x]); > } > return father[x]; > } > void union_(int a,int b) > { > int aa=find(a); > int bb=find(b); > if(aa!=bb) > //return; > father[aa]=bb; > } > int main() > { > int test; > // int i; > > char c; > scanf("%d",&test); > while(test--) > { > scanf("%d%d",&m,&n); > for(int i=1;i<=m*2;i++) > init(i); > for(int j=1;j<=n;j++) > { > scanf("%c%c %d %d",&c,&c,&a,&b); > if(c=='D') > { > union_(a,b+n); > union_(b,a+n); > } > else > { > if(find(a)==find(b)) > printf("In the same gang.\n"); > else if(find(a)==find(b+n)||find(b)==find(a+n)) > printf("In different gangs.\n"); > else > printf("Not sure yet.\n"); > } > } > } > return 1; > } > /* > 1 > 5 5 > A 1 2 > D 1 2 > A 1 2 > D 2 4 > A 1 4 > */ Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator