Bzoj 2252: [2010Beijing wc]矩阵距离 广搜
2252: [2010Beijing wc]矩阵距离
Time Limit: 10 Sec Memory Limit: 256 MB
Submit: 563 Solved: 274
[Submit][Status][Discuss]
Description
假设我们有矩阵,其元素值非零即1
a11…… a1m
…………….
an1…….anm
定义aij与akl之间的距离为D(aij,akl)=abs(i-k)+abs(j-L)
Input
输入文件的第一行为两个整数,分别代表n和m。
接下来的n行,第i行的第 j个字符代表aij
Output
输出包含N行,每行M个用空格分开的数字,其中第i行第J个数字代表
Min(D(aij,axy) 1<=x<=N 1<=y<m,且axy=1
Sample Input
0001
0011
0110
Sample Output
2 1 0 0
1 0 0 1
HINT
对于100%的数据,满足 0 < m n <=1000
Source
#include<bits/stdc++.h>
using namespace std;
#define MAXN 1010
#define INF 1e9
int fx[]={,,,-};
int fy[]={,-,,};
int dis[MAXN][MAXN],a[MAXN][MAXN],qx[MAXN*MAXN],qy[MAXN*MAXN];
char s[MAXN][MAXN];
bool vis[MAXN][MAXN];
int main()
{
int n,m,i,j,wzx,wzy,head,tail,ux,uy,vx,vy;
scanf("%d %d",&n,&m);
for(i=;i<=n;i++)scanf("\n%s",s[i]+);
wzx=;wzy=;
memset(dis,,sizeof(dis));
head=;tail=;memset(vis,false,sizeof(vis));
for(i=;i<=n;i++)
{
for(j=;j<=m;j++){dis[i][j]=INF;a[i][j]=s[i][j]-'';if(a[i][j]==){wzx=i,wzy=j;qx[++tail]=i;qy[tail]=j;vis[i][j]=true;dis[i][j]=;}}
}
//memset(qx,0,sizeof(qx));
//memset(qy,0,sizeof(qy));
//memset(vis,false,sizeof(vis));
//vis[wzx][wzy]=true;
//head=0;tail=1;qx[tail]=wzx;qy[tail]=wzy;
//dis[wzx][wzy]=0;
while(head!=tail)
{
head++;if(head==)head=;
ux=qx[head];
uy=qy[head];
for(i=;i<=;i++)
{
vx=ux+fx[i];
vy=uy+fy[i];
if(vx>=&&vx<=n&&vy>=&&vy<=m&&vis[vx][vy]==false)
{
if(dis[vx][vy]>dis[ux][uy]+)
{
vis[vx][vy]=true;
dis[vx][vy]=dis[ux][uy]+;
tail++;if(tail==)tail=;
qx[tail]=vx;
qy[tail]=vy;
}
if(a[vx][vy]==){dis[vx][vy]=;vis[vx][vy]=true;}
}
}
vis[ux][uy]=false;
}
for(i=;i<=n;i++)
{
for(j=;j<=m;j++)printf("%d ",dis[i][j]);
printf("\n");
}
fclose(stdin);
fclose(stdout);
return ;
}
Bzoj 2252: [2010Beijing wc]矩阵距离 广搜的更多相关文章
- BZOJ 2252: [2010Beijing wc]矩阵距离
题目 2252: [2010Beijing wc]矩阵距离 Time Limit: 10 Sec Memory Limit: 256 MB Description 假设我们有矩阵,其元素值非零即1 ...
- BZOJ2252: [2010Beijing wc]矩阵距离
题解: 我脑子里都是翔??? bfs一下就行了 我居然还想什么kd tree!真是too naive,,, #include<cstdio> #include<cstdlib> ...
- 【BFS】bzoj2252 [2010Beijing wc]矩阵距离
要注意一开始将所有为'1'的点入队,然后通过一次BFS去更新所有点的距离,直到无法更新为止. #include<cstdio> #include<queue> #include ...
- bzoj 2252 [ 2010 Beijing wc ] 矩阵距离 —— 多源bfs
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2252 又没能自己想出来... 一直在想如何从每个1开始广搜更新答案,再剪剪枝,什么遇到1就不 ...
- bzoj 2251: [2010Beijing Wc]外星联络 后缀数组
2251: [2010Beijing Wc]外星联络 Time Limit: 30 Sec Memory Limit: 256 MBSubmit: 424 Solved: 232[Submit][ ...
- BZOJ 2251: [2010Beijing Wc]外星联络
2251: [2010Beijing Wc]外星联络 Time Limit: 30 Sec Memory Limit: 256 MBSubmit: 795 Solved: 477[Submit][ ...
- ●BZOJ 2251 [2010Beijing Wc]外星联络
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2251 题解: 后缀数组,倍增,RMQ 题意:把重复次数超过 1次的子串按字典序输出它们重复的 ...
- bzoj 2251: [2010Beijing Wc]外星联络【SA】
先求SA,然后按字典序从小到大枚举子串,每到一个后缀从长到短枚举子串(跳过长为he[i]的和前一段重复的子串),然后维护一个点p,保证i~p之间最小的he>=当前枚举长度,p是单调向右移的 然后 ...
- TZOJ 5279 马拉松比赛(广搜)
描述 有一块矩形的海域,其中有陆地也有海洋,这块海域是CSUFT_ACM集训队的训练基地,这一天,昌神说要集训队的队员不能总是训练,于是昌神提出了中南林ACM集训队第一场环陆马拉松比赛,顾名思义就是围 ...
随机推荐
- Maven多层嵌套
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- height为100%的问题
问题描述 很多同学,对于设置div 的高度为100%时,有疑惑. 设置div 的高度为100%,意思是此 div 的高度 铺满父元素. 那么 怎么使 div 铺满浏览器屏幕? 代码 <!DOCT ...
- 理解Java中的前期绑定和后期绑定
前期绑定,在程序执行前根据编译时类型绑定,调用开销较小,如C语言只有前期绑定这种方法调用. 后期绑定,是指在运行时根据对象的类型进行绑定,又叫动态绑定或运行时绑定.实现后期绑定,需要某种机制支持,以便 ...
- MySQL 查询某时间段范围内的数据 补零
1.创建基础表 CREATE TABLE num (i INT); INSERT INTO num (i) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9) ...
- init.d文件夹
/etc/init.d 是 /etc/rc.d/init.d 的软链接(soft link). [root@asus ~]# ll /etc/init.d lrwxrwxrwx. 1 root roo ...
- 转载的在DOS下操作mysql
转载原文地址:http://www.server110.com/mysql/201309/1070.html 一.连接MYSQL. 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1 ...
- CocoaPods简单使用
CocoaPods的原理 CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中.Pods项目最终会编 ...
- 导航 - 利用系统自带的App导航
导航: 可以将需要导航位置丢给系统自带的App进行导航 发送网络请求到公司服务器, 获取导航数据, 自己手动绘制导航 利用三方SDK进行导航(百度) #import "ViewControl ...
- ▲历史回眸--abbr和acronym的渊源
网景和微软的浏览器之战早已淡去多年,最终以微软的IE浏览器胜出,特别是IE6的出现,一度成为世界浏览器的霸主,至今无人能敌.去年IE6荣获“终身成就奖”,真是实至名归.本文涉及的两个标签abbr和ac ...
- centos6.5搭建vpn服务器
1 安装ppp yum install -y ppp 2 安装pptpd yum install pptpd // rpm -Uvh http://poptop.sourceforge.net ...