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 |
样例能过,但是提示答案错误,求改正。program poj1703; type node=record diff:longint; father:longint; shunxu:longint; end; var a:array[1..100005] of node; x,y,j1,i,j,k,l,m,n:longint; c1,c:char; function find(jj:longint):longint; begin if (a[jj].father<>jj) then a[jj].father:=find(a[jj].father); exit(a[jj].father); end; procedure hebing(xx,yy:longint); begin if (a[xx].shunxu>a[yy].shunxu) then a[yy].father:=xx else begin a[xx].father:=yy; if (a[xx].shunxu=a[yy].shunxu) then a[yy].shunxu:=a[yy].shunxu+1; end; end; begin readln(l); readln(n,m); for j1:=1 to l do begin for i:=1 to n do begin a[i].diff:=0; a[i].shunxu:=0; a[i].father:=i; end; for i:=1 to m do begin read(c,c1); readln(j,k); x:=find(j); y:=find(k); if (c='A') then begin if (x=y) then writeln('In then same gang.') else begin if(a[x].diff=0) then writeln('Not sure yet.') else begin if (find(a[x].diff)=y) then writeln('In different gangs.') else writeln('Not sure yet.'); end; end; end; if(c='D') then begin if (a[x].diff<>0) then hebing(find(a[x].diff),y); if (a[y].diff<>0) then hebing(find(a[y].diff),x); if (a[x].diff=0) then a[x].diff:=y; if (a[y].diff=0) then a[y].diff:=x; end; end; end; end. Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator