Колония клеток представляет собой квадратную матрицу порядка N (N меньше 500). В колонию проникает M (M меньше 11) вирусов, которые поражают клетки с координатами (X1, Y1), … (Xm, Ym). За одну единицу времени вирус проникае...
Колония клеток представляет собой
квадратную матрицу порядка N (N < 500). В колонию
проникает M (M < 11) вирусов, которые
поражают клетки с координатами (X1, Y1),
… (Xm, Ym). За одну единицу времени вирус
проникает в клетки, соседние с зараженными (соседними считаются клетки, имеющие
общую сторону).
Требуется написать программу, которая определит
время заражения всей колонии.
Ответ(ы) на вопрос:
Гость
Program Task;
Const N = 499; M = 1;
Var A: Array [1..N, 1..N] of Boolean;
i, j, x, y, t: Integer;
b: Boolean;
Begin
Randomize;
While i < M Do
Begin
x := Random(N) + 1;
y := Random(N) + 1;
If A[x, y] = False Then
Begin
A[x, y] := True;
i := i + 1;
End;
End;
While b = False Do
Begin
b := True;
For i := 1 To N Do
For j := 1 To N Do
Begin
If A[i, j] = True Then
Begin
If (i + 1) <= N Then
A[i + 1, j] := True;
If (i - 1) > 0 Then
A[i - 1, j] := True;
If(j + 1) <= N Then
A[i, j + 1] := True;
If (j -1) > 0 Then
A[i, j - 1] := True;
End;
End;
For i := 1 To N Do
For j := 1 To N Do
If A[i, j] = False Then
b := False;
t := t + 1;
End;
WriteLn(t);
ReadLn;
End.
Не нашли ответ?
Похожие вопросы