[2010Beijing wc]矩阵距离
来源:互联网 发布:井下电钳网络考试平台 编辑:程序博客网 时间:2024/06/14 00:20
描述
给定一个01矩阵。求距离每个点最近的“1”点。
思路
从1点开始bfs。
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define MAX 1001int dot[MAX][MAX];int d[MAX][MAX];int n,m;pair<int,int> Q[MAX*MAX];int top,bot;void insert(int x,int y){Q[bot].first=x;Q[bot].second=y;bot++;}int getx(){return Q[top].first;}int gety(){return Q[top].second;}void pop(){top++;}bool empty(){return top>=bot;}void bfs(){top=bot=0;int x,y;for (int i=0;i<n;i++)for (int j=0;j<m;j++)if (dot[i][j])insert(i,j),d[i][j]=0;while (!empty()){x=getx();y=gety();if (x>0 && d[x-1][y]>d[x][y]+1){d[x-1][y]=d[x][y]+1;insert(x-1,y);}if (x<n-1 && d[x+1][y]>d[x][y]+1){d[x+1][y]=d[x][y]+1;insert(x+1,y);}if (y>0 && d[x][y-1]>d[x][y]+1){d[x][y-1]=d[x][y]+1;insert(x,y-1);}if (y<m-1 && d[x][y+1]>d[x][y]+1){d[x][y+1]=d[x][y]+1;insert(x,y+1);}pop();}}int main(){memset(d,0x3f,sizeof(d));char ini[MAX];scanf("%d%d",&n,&m);for (int i=0;i<n;i++){scanf("%s",ini);for (int j=0;j<m;j++)dot[i][j]=ini[j]-'0';}bfs();for (int i=0;i<n;i++){for (int j=0;j<m;j++){printf("%d",d[i][j]);if (j==m-1)printf("\n");else printf(" ");}}return 0;}
感谢耒阳大视野教育培训机构:http://61.187.179.132/JudgeOnline/problem.php?id=2252
- [2010Beijing wc]矩阵距离
- [BZOJ 2252][2010Beijing wc]矩阵距离
- 【BZOJ】2252: [2010Beijing wc]矩阵距离
- 2252: [2010Beijing wc]矩阵距离
- bzoj2252: [2010Beijing wc]矩阵距离
- [2010Beijing Wc]外星联络
- [2010Beijing Wc]外星联络 后缀数组
- BZOJ 2251 [2010Beijing Wc]外星联络
- 2253: [2010 Beijing wc]纸箱堆叠
- BZOJ 2251 [2010Beijing Wc]外星联络
- bzoj2253: [2010 Beijing wc]纸箱堆叠
- bzoj 2251 [2010Beijing Wc]外星联络
- 2251: [2010Beijing Wc]外星联络 后缀数组
- BZOJ 2251: [2010Beijing Wc]外星联络|后缀数组
- BZOJ 2251 Beijing WC 2010 外星联络 后缀数组
- BZOJ 2251.[2010Beijing Wc]外星联络(Trie)
- [SA] BZOJ 2251 [2010Beijing Wc]外星联络
- BZOJ2251——[2010Beijing Wc]外星联络
- Windows下使用Flex入门
- ADO技术简介(完全攻略)
- Lucene 3.3 学习笔记 1 介绍
- 在WinCE6.0下编译DirectShow相关应用时出现题图中的错误链接的解决方法
- char 与 unsigned char的本质区别
- [2010Beijing wc]矩阵距离
- Qt学习笔记 - QSignalMapper
- C#图像快速傅立叶变换及二维傅立叶变化
- Hibernate Work
- Nutch 1.3 学习笔记 10-1 - Ntuch 插件机制简单介绍
- hadoop学习之数据完整性
- 请不要做浮躁的人(本博文参考于别人,看到一些经典的句子复制了一些,送给菜鸟们。。。。
- OpenRTMFP/Cumulus Primer(7)CumulusServer启动流程分析(续3)
- Nutch 1.3 学习笔记 10-2 插件扩展