您的位置:首页 > 其它

文章标题

2016-08-17 11:53 211 查看
var

s,f:array[0..200,0..200]of longint;

n,m,i,j,k,x,y:longint;

function min(a,b:longint):longint;

begin

if a>b then exit(b)

else exit(a);

end;

var

z:string;

begin

readln(n,m);

fillchar(f,sizeof(f),$7f);

for i:=1 to n do

begin

readln(z);

for j:=1 to m do

begin

val(z[j],s[i,j]);

if s[i,j]=1 then f[i,j]:=0;

end;

end;

for k:=1 to m+n do

for i:=1 to n do

for j:=1 to m do

begin

y:=min(f[i+1,j]+1,f[i-1,j]+1);

x:=min(f[i,j+1]+1,f[i,j-1]+1);

x:=min(x,y);

f[i,j]:=min(f[i,j],x);

end;

for i:=1 to n do

begin

for j:=1 to m do write(f[i,j],’ ‘);

writeln;

end;

end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: