ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1102. Странный диалог

my dp program is TLE!!!!!!!
Послано fighter_hrh 2 сен 2008 20:01
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????????