记录编号 |
549407 |
评测结果 |
AAAAAAAAAAAAAAAA |
题目名称 |
[POI 1999] 位图 |
最终得分 |
100 |
用户昵称 |
HAC DOG |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
2.685 s |
提交时间 |
2020-02-10 21:36:30 |
内存使用 |
14.21 MiB |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int main()
{
freopen("bit.in","r",stdin);
freopen("bit.out","w",stdout);
int n,m;
cin>>n>>m;
char a[183][183];
int c[33125][2];
int b[33125][2];
int l1=0,l2=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
cin>>a[i][j];
if(a[i][j]=='0')
{
b[++l1][0]=i;
b[l1][1]=j;
}
else
{
c[++l2][0]=i;
c[l2][1]=j;
}
}
int y[183][183]={0};
for(int i=1;i<=l1;i++)
{
y[b[i][0]][b[i][1]]=0x3f3f3f3f;
for(int j=1;j<=l2;j++)
{
y[b[i][0]][b[i][1]]=min(abs(b[i][0]-c[j][0])+abs(b[i][1]-c[j][1]),y[b[i][0]][b[i][1]]);
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
cout<<y[i][j]<<" ";
cout<<endl;
}
return 0;
}