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

Обсуждение задачи 1060. Перевертыш

Why compilation error???
Послано Yarik 6 янв 2003 00:30
My program got compilation error, but i can compile it at my computer
without any problems. Why???

var
a, b: array[0..5, 0..5]of boolean;
p: array[1..16]of longint;
i, j, s, min: longint;
st: string;
go: boolean;
begin
for i:=1 to 4 do
begin
  readln(st);
  for j:=1 to 4 do
  if st[j]='b' then a[i, j]:=true
  else a[i, j]:=false;
end;
min:=17;
for p[1]:=0 to 1 do
for p[2]:=0 to 1 do
for p[2]:=0 to 1 do
for p[4]:=0 to 1 do
for p[5]:=0 to 1 do
for p[6]:=0 to 1 do
for p[7]:=0 to 1 do
for p[8]:=0 to 1 do
for p[9]:=0 to 1 do
for p[10]:=0 to 1 do
for p[11]:=0 to 1 do
for p[12]:=0 to 1 do
for p[13]:=0 to 1 do
for p[14]:=0 to 1 do
for p[15]:=0 to 1 do
for p[16]:=0 to 1 do
begin
  for i:=1 to 4 do
  for j:=1 to 4 do
  b[i, j]:=a[i, j];
  for i:=1 to 16 do
  if p[i]=1 then
  begin
    b[(i-1) mod 4+1, (i-1) div 4+1]:=not b[(i-1) mod 4+1, (i-1) div
4+1];
    b[(i-1) mod 4+1+1, (i-1) div 4+1]:=not b[(i-1) mod 4+1+1, (i-1)
div 4+1];
    b[(i-1) mod 4+1-1, (i-1) div 4+1]:=not b[(i-1) mod 4+1-1, (i-1)
div 4+1];
    b[(i-1) mod 4+1, (i-1) div 4+1+1]:=not b[(i-1) mod 4+1, (i-1) div
4+1+1];
    b[(i-1) mod 4+1, (i-1) div 4+1-1]:=not b[(i-1) mod 4+1, (i-1) div
4+1-1];
  end;
  go:=true;
  for i:=1 to 4 do
  for j:=1 to 4 do
  if not b[i, j] then go:=false;
  if go then s:=p[1]+p[2]+p[3]+p[4]+p[5]+p[6]+p[7]+p[8]+p[9]+p[10]+p
[11]+
  p[12]+p[13]+p[14]+p[15]+p[16];
  if (s<min) and (go) then min:=s;
end;
if min<17 then writeln(min)
else writeln('Impossible');
end.
Re: Why compilation error???
Послано Oleg 9 янв 2003 06:39
> My program got compilation error, but i can compile it at my
computer
> without any problems. Why???
>
> var
> a, b: array[0..5, 0..5]of boolean;
> p: array[1..16]of longint;
> i, j, s, min: longint;
> st: string;
> go: boolean;
> begin
> for i:=1 to 4 do
> begin
>   readln(st);
>   for j:=1 to 4 do
>   if st[j]='b' then a[i, j]:=true
>   else a[i, j]:=false;
> end;
> min:=17;
> >>>>for p[1]:=0 to 1 do
> for p[2]:=0 to 1 do
> for p[2]:=0 to 1 do
> for p[4]:=0 to 1 do
> for p[5]:=0 to 1 do
> for p[6]:=0 to 1 do
> for p[7]:=0 to 1 do
> for p[8]:=0 to 1 do
> for p[9]:=0 to 1 do
> for p[10]:=0 to 1 do
> for p[11]:=0 to 1 do
> for p[12]:=0 to 1 do
> for p[13]:=0 to 1 do
> for p[14]:=0 to 1 do
> for p[15]:=0 to 1 do
> for p[16]:=0 to 1 do<<<<< HERE IS CE
> begin
>   for i:=1 to 4 do
>   for j:=1 to 4 do
>   b[i, j]:=a[i, j];
>   for i:=1 to 16 do
>   if p[i]=1 then
>   begin
>     b[(i-1) mod 4+1, (i-1) div 4+1]:=not b[(i-1) mod 4+1, (i-1) div
> 4+1];
>     b[(i-1) mod 4+1+1, (i-1) div 4+1]:=not b[(i-1) mod 4+1+1, (i-1)
> div 4+1];
>     b[(i-1) mod 4+1-1, (i-1) div 4+1]:=not b[(i-1) mod 4+1-1, (i-1)
> div 4+1];
>     b[(i-1) mod 4+1, (i-1) div 4+1+1]:=not b[(i-1) mod 4+1, (i-1)
div
> 4+1+1];
>     b[(i-1) mod 4+1, (i-1) div 4+1-1]:=not b[(i-1) mod 4+1, (i-1)
div
> 4+1-1];
>   end;
>   go:=true;
>   for i:=1 to 4 do
>   for j:=1 to 4 do
>   if not b[i, j] then go:=false;
>   if go then s:=p[1]+p[2]+p[3]+p[4]+p[5]+p[6]+p[7]+p[8]+p[9]+p[10]+p
> [11]+
>   p[12]+p[13]+p[14]+p[15]+p[16];
>   if (s<min) and (go) then min:=s;
> end;
> if min<17 then writeln(min)
> else writeln('Impossible');
> end.
>
Re: Why compilation error???
Послано Dick162 19 янв 2003 12:11
> My program got compilation error, but i can compile it at my
computer
> without any problems. Why???
>
> var
> a, b: array[0..5, 0..5]of boolean;
> p: array[1..16]of longint;
> i, j, s, min: longint;
> st: string;
> go: boolean;
> begin
> for i:=1 to 4 do
> begin
>   readln(st);
>   for j:=1 to 4 do
>   if st[j]='b' then a[i, j]:=true
>   else a[i, j]:=false;
> end;
> min:=17;
> for p[1]:=0 to 1 do
> for p[2]:=0 to 1 do
> for p[2]:=0 to 1 do
> for p[4]:=0 to 1 do
> for p[5]:=0 to 1 do
> for p[6]:=0 to 1 do
> for p[7]:=0 to 1 do
> for p[8]:=0 to 1 do
> for p[9]:=0 to 1 do
> for p[10]:=0 to 1 do
> for p[11]:=0 to 1 do
> for p[12]:=0 to 1 do
> for p[13]:=0 to 1 do
> for p[14]:=0 to 1 do
> for p[15]:=0 to 1 do
> for p[16]:=0 to 1 do
> begin
>   for i:=1 to 4 do
>   for j:=1 to 4 do
>   b[i, j]:=a[i, j];
>   for i:=1 to 16 do
>   if p[i]=1 then
>   begin
>     b[(i-1) mod 4+1, (i-1) div 4+1]:=not b[(i-1) mod 4+1, (i-1) div
> 4+1];
>     b[(i-1) mod 4+1+1, (i-1) div 4+1]:=not b[(i-1) mod 4+1+1, (i-1)
> div 4+1];
>     b[(i-1) mod 4+1-1, (i-1) div 4+1]:=not b[(i-1) mod 4+1-1, (i-1)
> div 4+1];
>     b[(i-1) mod 4+1, (i-1) div 4+1+1]:=not b[(i-1) mod 4+1, (i-1)
div
> 4+1+1];
>     b[(i-1) mod 4+1, (i-1) div 4+1-1]:=not b[(i-1) mod 4+1, (i-1)
div
> 4+1-1];
>   end;
>   go:=true;
>   for i:=1 to 4 do
>   for j:=1 to 4 do
>   if not b[i, j] then go:=false;
>   if go then s:=p[1]+p[2]+p[3]+p[4]+p[5]+p[6]+p[7]+p[8]+p[9]+p[10]+p
> [11]+
>   p[12]+p[13]+p[14]+p[15]+p[16];
>   if (s<min) and (go) then min:=s;
> end;
> if min<17 then writeln(min)
> else writeln('Impossible');
> end.
>