【HIHOCODER 1478】 水陆距离(BFS)】的更多相关文章

水陆距离 描述 给定一个N x M的01矩阵,其中1表示陆地,0表示水域.对于每一个位置,求出它距离最近的水域的距离是多少. 矩阵中每个位置与它上下左右相邻的格子距离为1. 输入 第一行包含两个整数,N和M. 以下N行每行M个0或者1,代表地图. 数据保证至少有1块水域. 对于30%的数据,1 <= N, M <= 100 对于100%的数据,1 <= N, M <= 800 输出 输出N行,每行M个空格分隔的整数.每个整数表示该位置距离最近的水域的距离. 样例输入 4 4 011…
地址:http://hihocoder.com/problemset/problem/1478 题目: 水陆距离 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个N x M的01矩阵,其中1表示陆地,0表示水域.对于每一个位置,求出它距离最近的水域的距离是多少. 矩阵中每个位置与它上下左右相邻的格子距离为1. 输入 第一行包含两个整数,N和M. 以下N行每行M个0或者1,代表地图. 数据保证至少有1块水域. 对于30%的数据,1 <= N, M <= 10…
描述 给定一个N x M的01矩阵,其中1表示陆地,0表示水域.对于每一个位置,求出它距离最近的水域的距离是多少. 矩阵中每个位置与它上下左右相邻的格子距离为1. 输入 第一行包含两个整数,N和M. 以下N行每行M个0或者1,代表地图. 数据保证至少有1块水域. 对于30%的数据,1 <= N, M <= 100 对于100%的数据,1 <= N, M <= 800 输出 输出N行,每行M个空格分隔的整数.每个整数表示该位置距离最近的水域的距离. 样例输入 4 4 0110 111…
思路: 宽搜,多个起点. 实现: #include <iostream> #include <cstdio> #include <algorithm> #include <queue> #include <cstring> using namespace std; const int INF = 0x3f3f3f3f; ][]; ][]; ][]; ] = { , , -, }; ] = { , , , - }; struct node { in…
[题目链接]:http://hihocoder.com/problemset/problem/1478 [题意] [题解] 一开始把所有的水域的位置都加入到队列中去; 然后跑一个bfs. 第一次到达的位置肯定是最短路的; [Number Of WA] 0 [完整代码] #include <bits/stdc++.h> using namespace std; #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 #defin…
题意 输入矩阵m行n列(m<=500,n<=500),只含0.1,输出离每个元素距离最近的1的距离,其中距离定义为D(aij,akl)=abs(i-k)+abs(j-l). 示例: 输入: 3 4 0 0 0 1 0 0 1 1 0 1 1 0 输出: 3 2 1 0 2 1 0 0 1 0 0 1 解体思路 把所有1点入队,然后BFS.这样每个点只遍历一遍. 题解 #include <stdio.h> #include <queue> using namespace…
给定一个N x M的01矩阵,其中1表示人,0表示糖.对于每一个位置,求出每个位置离糖的最短距离是多少. 矩阵中每个位置与它上下左右相邻的格子距离为1. Input 第一行包含两个整数,N和M. 以下N行每行M个0或者1. 数据保证至少有1块糖. 1 <= N, M <= 800 Output 输出N行,每行M个空格分隔的整数.表示每个位置最近的糖离它的位置. Sample Input 4 4 0110 1111 1111 0110 Sample Output 0 1 1 0 1 2 2 1…
B. Mike and Shortcuts time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output Recently, Mike was very busy with studying for exams and contests. Now he is going to chill a bit by doing some sight…
题目1 : 闰秒 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 计算机系统中使用的UTC时间基于原子钟,这种计时方式同“地球自转一周是24小时”的计时方式有微小的偏差.为了弥补这种偏差,我们偶尔需要增加一个“闰秒”. 最近的一次闰秒增加发生在UTC时间2016年的最后一天.我们在2016年12月31日23时59分59秒和2017年1月1日0时0分0秒之间增加了这样一秒:2016年12月31日23时59分60秒,记作2016-12-31 23:59:60. 目前一共…
Computer Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4440    Accepted Submission(s): 2236 Problem Description A school bought the first computer some time ago(so this computer's id is 1). Du…