|
111
|
var i,j,k,n,m,s,max:longint;
a:array[0..100,0..100]of longint;
t:string;
b:array[1..100]of string;
begin
readln(n,m,k);
for i:=1 to n do
begin
readln(t);
for j:=1 to m do
a[i,j]:=ord(t[j])-48;
end;
for s:=1 to k do
for i:=1 to n do
for j:=1 to m do
begin
max:=0;
max:=a[i+1,j]+a[i-1,j]+a[i,j-1]+a[i,j+1];
max:=max+a[i+1,j+1]+a[i+1,j-1]+a[i-1,j+1]+a[i-1,j-1];
if (a[i,j]=1)and(max<2)then
a[i,j]:=0;
if (a[i,j]=1)and(max>3)then
a[i,j]:=0;
if max=3 then
a[i,j]:=1;
end;
for i:=1 to n do
begin
for j:=1 to m do
b[i]:=b[i]+chr(a[i,j]+48);
end;
for i:=1 to n do
writeln(b[i]);
end.
( 2015/6/8 13:03:56 ) |
111 |
var i,j,k,n,m,s,max:longint;
a,c:array[0..10,0..10]of longint;
t:string;
b:array[1..100]of string;
begin
readln(n,m,k);
for i:=1 to n do
begin
readln(t);
for j:=1 to m do
a[i,j]:=ord(t[j])-48;
end;
for s:=1 to k do
begin
for i:=1 to n do
for j:=1 to m do
begin
max:=0;
max:=a[i+1,j]+a[i-1,j]+a[i,j-1]+a[i,j+1];
max:=max+a[i+1,j+1]+a[i+1,j-1]+a[i-1,j+1]+a[i-1,j-1];
if (a[i,j]=1)and(max<2) then
c[i,j]:=0;
if (a[i,j]=1)and(max>3)then
c[i,j]:=0;
if max=3 then
c[i,j]:=1;
if max=2 then
c[i,j]:=a[i,j];
end;
a:=c;
fillchar(c,sizeof(c),0);
end;
for i:=1 to n do
begin
for j:=1 to m do
b[i]:=b[i]+chr(a[i,j]+48);
end;
for i:=1 to n do
writeln(b[i]);
end.
( ) |
|