ТутРешу.Ру

Колония клеток представляет собойквадратную матрицу порядка N

Задание:

Колония клеток представляет собойквадратную матрицу порядка 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; BeginRandomize; While i < M DoBeginx: =Random (N)+1; y: =Random (N)+1; If A[x, y]=False ThenBeginA[x, y]: =True; i: =i+1; End; End; While b=False DoBeginb: =True; For i: =1 To N DoFor j: =1 To N DoBeginIf A[i, j]=True ThenBeginIf (i+1) <= N ThenA[i+1, j]: =True; If (i — 1) > 0 ThenA[i — 1, j]: =True; If (j+1) <= N ThenA[i, j+1]: =True; If (j -1) > 0 ThenA[i, j — 1]: =True; End; End; For i: =1 To N DoFor j: =1 To N DoIf A[i, j]=False Thenb: =False; t: =t+1; End; WriteLn (t); ReadLn; End.




Знаете другой ответ?

Отправить свой ответ