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 |
为什么我的程序一交上去就卡机~~~var n,i,max,cc:longint; c:char; s:array[0..100] of string; a:array[0..100] of longint; procedure dfs(s1:string); var i,l,t:longint; s2,ss1,ss2,ss:string; p:boolean; begin if length(s1)>max then max:=length(s1); for i:=1 to n do begin if a[i]>0 then begin s2:=s[i]; if length(s1)<length(s2) then t:=length(s1) else t:=length(s2); l:=1; p:=false; while l<t do begin ss1:=copy(s1,length(s1)-l+1,l); ss2:=copy(s2,1,l); if ss1=ss2 then begin p:=true; ss:=s1+copy(s2,l+1,length(s2)-l); break; end; inc(l); end; if p then begin dec(a[i]); dfs(ss); inc(a[i]); end; end; end; end; begin readln(n); for i:=1 to n do begin readln(s[i]); a[i]:=2; end; readln(c); cc:=length(c); max:=0; for i:=1 to n do begin if copy(s[i],1,cc)=c then begin dec(a[i]); dfs(s[i]); end; end; writeln(max); end. Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator