COJ--1277--森林火灾【搜索】
来源:互联网 发布:广联达造价软件下载 编辑:程序博客网 时间:2024/06/11 06:50
Description
某个著名的原始突然发生大火。这个森林的树非常有特点,长非常的整齐。我们可以假设森林大小是N*M的矩阵,那每个整数点坐标上都会种着一棵树。
经过调查发现,火灾发生的时候是由于其中K棵树同时着火了。并且开始蔓延到其他周边的树。已经计算出,每棵着火的树一分钟后会把火扩展到他旁边和他距离为1的树。
由于这个森林的树种很珍贵,但火灾扩展速度太快,为了得到更多的救援时间,救援队希望能至少救下最后一棵树。现在想请你计算出最后一棵被烧着的树在哪个位置?
经过调查发现,火灾发生的时候是由于其中K棵树同时着火了。并且开始蔓延到其他周边的树。已经计算出,每棵着火的树一分钟后会把火扩展到他旁边和他距离为1的树。
由于这个森林的树种很珍贵,但火灾扩展速度太快,为了得到更多的救援时间,救援队希望能至少救下最后一棵树。现在想请你计算出最后一棵被烧着的树在哪个位置?
Input
第一行:两个整数N,M(1 < = N , M < = 2000),表示森林的大小。树都种在(x, y)的整数点上 (1 ≤ x ≤ N, 1 ≤ y ≤ M)。
第二行:一个整数K(1 <= K <= 10),表示最开始着火的树的数目。
第三行:K对整数。每对整数表示最初烧着的树的位置。
第二行:一个整数K(1 <= K <= 10),表示最开始着火的树的数目。
第三行:K对整数。每对整数表示最初烧着的树的位置。
Output
两个整数,表示最后一棵烧着的树的位置。(如果存在多棵最后烧着的树,输出最左上的那棵,即X坐标最小,如X坐标相同,Y坐标最小)
Sample Input
3 3
1
2 2
1
2 2
Sample Output
1 1
Source
codeforces#35
思路:这道题用暴力可以过,我贴出来是因为我第二遍AC用了BFS,这道题还可以看成是一道简单的BFS题
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<math.h>#include<stdlib.h>#include<queue>using namespace std;int map[2002][2002];int dir[4][2]={1,0,0,1,-1,0,0,-1}; int main(){ queue<int>q; int n,m,k,i,x,y,a,b,xt,yt; memset(map,0,sizeof(map)); scanf("%d%d%d",&n,&m,&k); for(i=1;i<=k;i++) { scanf("%d%d",&x,&y); q.push(x); q.push(y); map[x][y]=1; } while(!q.empty()) { a=q.front(); q.pop(); b=q.front(); q.pop(); for(i=0;i<4;i++) { xt=a+dir[i][0]; yt=b+dir[i][1]; if(!map[xt][yt]&&xt<=n&&xt>0&&yt<=m&&yt>0) { q.push(xt); q.push(yt); map[xt][yt]=1; } } } printf("%d %d\n",a,b); return 0;}
- COJ--1277--森林火灾【搜索】
- 【OpenCV】森林火灾检测-1
- 【OpenCV】森林火灾检测-1
- 【OpenCV】森林火灾检测-2
- 【OpenCV】森林火灾检测-1
- 【OpenCV】森林火灾检测-2
- opencv森林火灾检测-1
- opencv森林火灾检测-2
- 森林火灾评价统计指标探讨
- 【计算机视觉】森林火灾检测-1
- 【计算机视觉】森林火灾检测-2
- 【计算机视觉】森林火灾检测-1
- 【计算机视觉】森林火灾检测-2
- 火灾!!!
- 火灾
- [转]森林火灾损失评估系统的研究与实现
- 基于烟雾轮廓的森林火灾检测的解决方案
- 惠更斯Rothermel模型模拟-森林火灾-计算坐标(后台)
- 线性表系列(一)-顺序表的详解与实现
- cocos2d-x 碰撞检测
- java 集合类比较
- 【Python排序搜索基本算法】之归并排序&分治法(Merge Sort and Divide & Conquer)
- ios程序的运行过程
- COJ--1277--森林火灾【搜索】
- 什么是你的不可替代性和核心竞争力
- 广播接收器(BroadcastReceiver)的分析
- Java通过继承Thread类实现多线程
- 求教,单片机编程出现诡异现象!
- Java通过实现Runable来实现多线程
- [转载] 面向IT专业的银行实务基础 包含此书的书单加入书单
- libnids中TCP/IP栈实现细节分析(上)——TCP会话重组
- java通过内部类实现多线程