博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj3669
阅读量:6333 次
发布时间:2019-06-22

本文共 1978 字,大约阅读时间需要 6 分钟。

一、题意:流星雨来袭击我们的女主,Bessie。为了找一个安全地方,她开始逃了。地图相当于平面坐标系第一象限,Bessie一开始在原点。然后,每颗流星都会在某个时刻砸下来,砸到的地方连同上下左右都会被毁灭,此时这些地方Bessie就不能通过了,她只能走其它地方。Bessie的移动速度是每时刻移动一步,上下左右,不能对角线移动。现在求Bessie最小的移动步数。

 

二、思路:先将会被毁灭的坐标点标记上被毁灭的时间,然后bfs,当到达该坐标的步数小于被毁灭的时间时可走,直到找到第一个不会被毁灭的坐标为止。这里需要注意的一个点就是当时间Ti==0时的情况。

 

三、代码:

#include"iostream"#include"stdio.h"#include"string.h"#include"queue"using namespace std;typedef pair
P;const int MAXN=305;int coordinate[MAXN][MAXN];int dist[MAXN][MAXN];void CoordinateChange(int x,int y,int time){ if(coordinate[x][y]>time||coordinate[x][y]==-1) coordinate[x][y]=time; int dx[4]={0,1,0,-1}; int dy[4]={1,0,-1,0}; for(int i=0;i<4;i++) { int nx=x+dx[i]; int ny=y+dy[i]; if(nx>=0&&ny>=0) if(coordinate[nx][ny]>time||coordinate[nx][ny]==-1) coordinate[nx][ny]=time; }}bool Judge(int x,int y,int d){ if(x>=0&&y>=0&&(coordinate[x][y]==-1||d
que; que.push(P(0,0)); while(que.size()) { P p=que.front();que.pop(); if(coordinate[p.first][p.second]==-1) return dist[p.first][p.second]; int dx[4]={0,1,0,-1}; int dy[4]={1,0,-1,0}; for(int i=0;i<4;i++) { int nx=p.first+dx[i]; int ny=p.second+dy[i]; if(Judge(nx,ny,dist[p.first][p.second]+1)) { dist[nx][ny]=dist[p.first][p.second]+1; que.push(P(nx,ny)); } } } return -1;}int main(){ // freopen("in.txt","r",stdin); int m,x,y,time; while(scanf("%d",&m)==1) { memset(coordinate,-1,sizeof(coordinate)); memset(dist,-1,sizeof(dist)); for(int i=0;i
>x>>y>>time; CoordinateChange(x,y,time); } /* for(int i=0;i<10;i++) { for(int j=0;j<10;j++) cout<
<<' '; cout<

  

  

转载于:https://www.cnblogs.com/acm-jing/p/9563734.html

你可能感兴趣的文章
[求助] win7 x64 封装 出现 Administrator.xxxxx 的问题
查看>>
人类投资经理再也无法击败电脑的时代终将到来了...
查看>>
一个最小手势库的实现
查看>>
HoloLens开发手记 - Vuforia开发概述 Vuforia development overview
查看>>
Android支付之支付宝封装类
查看>>
Javascript模板引擎插件收集
查看>>
<亲测>CentOS中yum安装ffmpeg
查看>>
【分享】马化腾:产品设计与用户体验
查看>>
【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练
查看>>
降低数据中心能耗的六大环节从主要能源着手
查看>>
用友优普智能制造助华菱线缆实现3个人15亿排产
查看>>
全智慧的网络:思科十年来最具颠覆性的创新
查看>>
怎样将现有应用迁移到 VMware NSX
查看>>
赛门铁克收购以色列移动安全初创公司Skycure 旨在构建网络安全防御平台
查看>>
《Photoshop蒙版与合成(第2版)》目录—导读
查看>>
《团队软件过程(修订版)》—第1章1.3节TSPi的设计
查看>>
“最佳人气奖”出炉!4月27号,谁能拿到阿里聚安全算法挑战赛的桂冠?
查看>>
《写给程序员的数据挖掘实践指南》——第1章 数据挖掘简介及本书使用方法...
查看>>
《网页美工设计Photoshop+Flash+Dreamweaver从入门到精通》——2.6 图层与图层样式...
查看>>
Linux内核Crash分析
查看>>