|  | 
|  | 
| вернуться в форум | my dp program is TLE!!!!!!! program hrh;const
 s2:array[1..6] of ansistring=('in','out','output','puton','one','input');
 var
 n:longint;
 f:array[0..1000000] of boolean;
 s:ansistring;
 procedure init;
 var
 i,j,k,now:longint;
 begin
 readln(n);
 for i:=1 to n do
 begin
 readln(s);
 now:=0;
 f[0]:=true;
 if (pos(' ',s)<length(s))and(pos(' ',s)<>0) or (s='')  then
 begin
 writeln('NO');
 continue;
 end;
 for j:=1 to length(s) do
 begin
 f[j]:=false;
 for k:=1 to 6 do
 if (j-length(s2[k])>=0) then
 begin
 if (copy(s,j-length(s2[k])+1,length(s2[k]))=s2[k]) and f[j-length(s2[k])] then
 f[j]:=true;
 end;
 if f[j] then now:=0 else
 inc(now);
 
 if now>=6 then
 begin
 f[length(s)]:=false;
 break;
 end;
 end;
 if f[length(s)] then writeln('YES')
 else writeln('NO');
 end;
 end;
 
 begin
 init;
 end.
 
 
 
 I think my program may be right,but how to AC it is still a
 big problem,  who can help me????????
 | 
 | 
|