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

Обсуждение задачи 1008. Кодирование изображений

Why my program was got WA
Послано TATUUF 24 ноя 2007 10:55
My program is giving correct answers. But always I got WA1. If you know please help me. There is my code
program ImageEncoding1;
{$APPTYPE CONSOLE}
uses
  SysUtils;
var
   a:array[0..11,0..11]of boolean;
   x,y:array[0..11]of integer;
   f:boolean;
   i,n,x1,y1,k,code,j:integer;
   sn,s:string;
begin
  assign(input,'in.txt');
  assign(output,'out.txt');
  reset(input);
  rewrite(output);
  readln(sn);f:=true;
  //readln(s);
  if(length(sn)<>3)then
  begin
      val(sn,n,code);
      for i:=1 to n do
      begin
         readln(y1,x1);
         if(f)then begin x[1]:=x1;y[1]:=y1;f:=false;end;
         a[y1,x1]:=true;
      end;
      k:=1;i:=1;writeln(y[1],' ',x[1]);a[y[1],x[1]]:=false;
      while i<=k do
      begin
         if(a[y[i]+1,x[i]])then begin k:=k+1;y[k]:=y[i]+1;x[k]:=x[i];  a[y[i]+1,x[i]]:=false;write('R');end;
         if(a[y[i],x[i]+1])then begin k:=k+1;y[k]:=y[i];  x[k]:=x[i]+1;a[y[i],x[i]+1]:=false;write('T');end;
         if(a[y[i]-1,x[i]])then begin k:=k+1;y[k]:=y[i]-1;x[k]:=x[i];  a[y[i]-1,x[i]]:=false;write('L');end;
         if(a[y[i],x[i]-1])then begin k:=k+1;y[k]:=y[i];  x[k]:=x[i]-1;a[y[i],x[i]-1]:=false;write('B');end;
         i:=i+1;
         if(k<i)then write('.')else writeln(',');
      end;
  end
  else
  begin
     val(copy(sn,1,1),y[1],code);
     val(copy(sn,3,1),x[1],code);k:=1;a[y[1],x[1]]:=true;j:=1;
     while(not eof)do
     begin
        readln(s);
        if(s='.')then break;
        n:=length(s);
        for i:=1 to n-1 do
        begin
           if(s[i]='B')then begin k:=k+1;y[k]:=y[j];  x[k]:=x[j]-1;a[y[k],x[k]]:=true;end else
           if(s[i]='T')then begin k:=k+1;y[k]:=y[j];  x[k]:=x[j]+1;a[y[k],x[k]]:=true;end else
           if(s[i]='R')then begin k:=k+1;y[k]:=y[j]+1;x[k]:=x[j];  a[y[k],x[k]]:=true;end
                       else begin k:=k+1;y[k]:=y[j]-1;x[k]:=x[j];  a[y[k],x[k]]:=true;end;
        end;
        j:=j+1;
     end;
     writeln(k);
     for i:=0 to 11 do
       for j:=0 to 11 do
          if(a[i,j])then writeln(i,' ',j);
  end;
end.

Edited by author 29.12.2012 20:54