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

Обсуждение задачи 1140. Случай на болоте

Please tell me what 's wrong with this program, Thank you!
Послано ECUST Multistar 13 май 2002 18:47
var
  x,y,z:integer;
  n,i,j:integer;
  na,nx,ny,nz,nj:integer;
  c:char;
begin
  x:=0;y:=0;z:=0;
  readln(n);
  for i:=1 to n do
  begin
    readln(c,j);
    case upcase(c) of
      'X':inc(x,j);
      'Y':inc(y,j);
      'Z':inc(z,j);
    end;
  end;
  nx:=0;ny:=y+x;nz:=z-x;nj:=abs(nx)+abs(ny)+abs(nz);
  if (ny=0) or (nz=0) then na:=1 else na:=2;
  x:=nx+ny;y:=0;z:=nz+ny;j:=abs(x)+abs(y)+abs(z);
  if (x=0) or (z=0) then n:=1 else n:=2;
  if nj>j then
  begin
    na:=n;nx:=x;ny:=y;nz:=z;nj:=j;
  end;
  x:=nx-nz;y:=ny+nz;z:=0;j:=abs(x)+abs(y)+abs(z);
  if (x=0) or (y=0) then n:=1 else n:=2;
  if nj>j then
  begin
    na:=n;nx:=x;ny:=y;nz:=z;nj:=j;
  end;
  writeln(na);
  if nx<>0 then writeln('X ',-nx);
  if ny<>0 then writeln('Y ',-ny);
  if nz<>0 then writeln('Z ',-nz);
end.
Try this simple test: 0. The answer should be 0, but yours is 1.
Послано Maigo Akisame (maigoakisame@yahoo.com.cn) 17 июл 2004 12:51
Your test is incorrect!
Послано Saturn 18 июл 2004 00:55
Your test is incorrect because n>0!
Try this test:
3
X 1
Z 1
Y -1
Correct output : 0
Your output : 1