| ||||||||||
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 |
麻烦各位大牛给看一下怎么runtime error了(附:程序)var b:array[0..200,0..200] of longint; c:array[0..200] of string; d,x,e,r:array[0..200] of longint; s,s1:string; fl:boolean; n,i,js,j,k,max,jt:longint; procedure djs(xt:integer); var i:integer; begin for i:=1 to x[xt] do begin d[b[xt,i]]:=d[xt]+1; djs(b[xt,i]); end; end; begin assign(input,'1.pas'); reset(input); readln(n); while n<>0 do begin readln(c[1]); d[1]:=1;js:=1; for i:=1 to n-1 do begin readln(s); s1:=copy(s,pos(' ',s)+1,length(s)-pos(' ',s)); delete(s,pos(' ',s),length(s)-pos(' ',s)+1); fl:=false; for j:=1 to js do if c[j]=s then begin fl:=true; jt:=j; end; if not fl then begin js:=js+1; jt:=js; c[js]:=s; end; fl:=false; for j:=1 to js-1 do if c[j]=s1 then begin fl:=true; x[j]:=x[j]+1; b[j,x[j]]:=jt; end; if not fl then begin inc(js); c[jt]:=s1; x[jt]:=1; b[jt,1]:=jt-1; end; end; fl:=false; max:=0; for i:=1 to n do begin e[i]:=1; r[i]:=0; end; djs(1); for i:=1 to n do if d[i]>max then max:=d[i]; for i:=max downto 1 do for j:=1 to n do if d[j]=i then for k:=1 to x[j] do begin if e[b[j,k]]>r[b[j,k]] then r[j]:=r[j]+e[b[j,k]] else r[j]:=r[j]+r[b[j,k]]; e[j]:=e[j]+r[b[j,k]]; end; if e[1]>r[1] then write(e[1],' ') else write(r[1],' '); if e[1]=r[1] then writeln('No') else writeln('Yes'); for i:=1 to n do x[i]:=0; readln(n); end; close(input); end. Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator