Колония клеток представляет собой квадратную матрицу порядка n (n < 500). в колонию проникает m (m < 11) вирусов, которые поражают клетки с координатами (x1, y1), … (xm, ym). за одну единицу времени вирус проникает в клетки, соседние с зараженными (соседними считаются клетки, имеющие общую сторону). требуется написать программу, которая определит время заражения всей колонии.
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.