- 位图(Bitmap)
- 2023-12-02 22:01:49 @
暴力可过,峰值729ms,很惊险,代码如下:
#include<bits/stdc++.h>
using namespace std;
int n,m,ans[205][205],d1[40005][2],d0[40005][2],t1,t2;
int main()
{
ios::sync_with_stdio(false);
memset(ans,0x3f3f,sizeof ans);
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
char c;cin>>c;
if(c==48)
{
d0[++t2][0]=i;
d0[t2][1]=j;
}
else
{
ans[i][j]=0;
d1[++t1][0]=i;
d1[t1][1]=j;
}
}
for(int i=1;i<=t2;i++)
for(int j=1;j<=t1;j++)
ans[d0[i][0]][d0[i][1]]=min(ans[d0[i][0]][d0[i][1]],abs(d0[i][0]-d1[j][0])+abs(d0[i][1]-d1[j][1]));
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
cout<<ans[i][j]<<' ';
cout<<endl;
}
return 0;
}
1 条评论
-
240116zj钱宸熹 (230908zj) LV 7 @ 2023-12-11 16:42:36
您想让我们抄?
- 1
信息
- ID
- 2055
- 难度
- 7
- 分类
- (无)
- 标签
- 递交数
- 18
- 已通过
- 7
- 通过率
- 39%
- 被复制
- 4
- 上传者