продолжается, и
продолжается, и так до тех пор, пока в любой момент времени в галерее не будут находиться не менее двух сторожей.
о92_4 Рассмотрим пример.
0 1 0 1 1 0 1 0 0 2 0 3 3 0 4 0
0 0 1 1 0 0 1 0 0 0 3 3 0 0 4 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 4 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 4 0
1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4
0 0 0 0 0 1 1 0 0 0 0 0 0 4 4 0
1 1 1 1 0 1 0 0 5 5 5 5 0 4 0 0
0 0 0 1 0 1 0 0 0 0 0 5 0 4 0 0
Вторую часть таблицы (справа) получаем с помощью следующей логики (вариации на тему «лабиринт», глава 2).
Фрагмент основной части
...
cnt:=1;{счетчик числа областей}
for i:=1 to n do
for j:=1 to n do
if A[i,j]=1 then begin inc(cnt);Rec(i,j);end;
...
и процедуры
procedure Rec(x,y:integer);
begin
if A[x,y]<>1 then exit
else begin A[x,y]:=cnt;Rec(x-1,y);Rec(x+1,y);
Rec(x,y-1);Rec(x,y+1);
end;
end;
Для решения задачи осталось ответить на вопрос, есть ли на границах клетки с одним значением метки.
5.5. Олимпиада - 93
r93_1 Идея первого способа решения
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа