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 |
求解释哪错了,在此先谢过了type edge=record y,next:longint; end; var first,c:array[0..400]of longint; b:array[0..400]of boolean; a:array[0..2000]of edge; n,tot,m,p:longint; //================================================ procedure ad_edge(x,y:longint); begin inc(tot); a[tot].y:=y; a[tot].next:=first[x]; first[x]:=tot; end; //================================================ procedure init; var i,j,k,x:longint; begin readln(n,m); for i:=1 to n do begin read(k); for j:=1 to k do begin read(x); ad_edge(i,x); end; readln; end; end; //============================================ function path(x:longint):boolean; var t,i,j:longint; begin t:=first[x]; while t>0 do begin if not b[a[t].y] then begin b[a[t].y]:=true; if (c[a[t].y]=0)or(path(a[t].y)) then begin c[a[t].y]:=x; exit(true); end; end; t:=a[t].next; end; exit(false); end; //============================================= procedure xiongyali; var i,ans:longint; begin ans:=0; for i:=1 to n do begin fillchar(b,sizeof(b),false); if path(i) then inc(ans); end; if ans<>n then writeln('NO') else writeln('YES'); end; //============================================== begin readln(p); while p>0 do begin fillchar(first,sizeof(first),0); fillchar(b,sizeof(b),false); fillchar(c,sizeof(c),0); tot:=0; init; dec(p); xiongyali; end; end. Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator