这道题是下流星,流星会下到上下左右中的位置,而且有时间的,要你求出最短到达安全位置的时间。

这道题要注意边界是可以超过300的

#include<stdio.h>
#include<algorithm>
#include<queue>
#include<string.h>
using namespace std;
typedef pair<int,int> P;
#define INF 0x3f3f3f3f
queue<P>q;
int dx[]={1,0,-1,0},dy[]={0,1,0,-1};
int d[306][306];
int dd[306][306];
int gx,gy;
int flag=0;
int dfs()
{
memset(dd,INF,sizeof(dd));
q.push(P(0,0));
dd[0][0]=0;
while(q.size())
{
P p=q.front();q.pop();
if(d[p.first][p.second]==INF){
gx=p.first;
gy=p.second;
flag=1;
break;
}
for(int i=0;i<4;i++)
{
int nx=p.first+dx[i],ny=p.second+dy[i];
if(0<=nx&&nx<=305&&0<=ny&&ny<=305&&dd[nx][ny]==INF)
{//printf("%d %d %d\n",nx,ny,d[nx][ny]);
dd[nx][ny]=dd[p.first][p.second]+1;
if(dd[nx][ny]<d[nx][ny])
q.push(P(nx,ny));
}
}
}
if(flag)
return dd[gx][gy];
else return -1;
}
int main()
{
int m,x,y,t,n;
scanf("%d",&n);
memset(d,INF,sizeof(d));
for(int i=0;i<n;i++)
{
scanf("%d %d %d",&x,&y,&t);
d[x][y]=min(d[x][y],t);
for(int i=0;i<4;i++)
{
int nx=x+dx[i],ny=y+dy[i];
if(0<=nx&&nx<=305&&0<=ny&&ny<=305)
d[nx][ny]=min(d[nx][ny],t);
}
}
int res=dfs();
printf("%d\n",res);
}

poj Meteor Shower的更多相关文章

  1. poj Meteor Shower - 搜索

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16313   Accepted: 4291 Description Bess ...

  2. POJ 3669 Meteor Shower(流星雨)

    POJ 3669 Meteor Shower(流星雨) Time Limit: 1000MS    Memory Limit: 65536K Description 题目描述 Bessie hears ...

  3. poj 3669 Meteor Shower

                                                                                                      Me ...

  4. poj 3669 Meteor Shower(bfs)

    Description Bessie hears that an extraordinary meteor shower is coming; reports say that these meteo ...

  5. Meteor Shower(POJ 3669)

    Meteor Shower Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12816   Accepted: 3451 De ...

  6. POJ 3669 Meteor Shower (BFS+预处理)

    Description Bessie hears that an extraordinary meteor shower is coming; reports say that these meteo ...

  7. Meteor Shower POJ - 3669 (bfs+优先队列)

    Meteor Shower Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 26455   Accepted: 6856 De ...

  8. 题解报告:poj 3669 Meteor Shower(bfs)

    Description Bessie hears that an extraordinary meteor shower is coming; reports say that these meteo ...

  9. 【POJ - 3669】Meteor Shower(bfs)

    -->Meteor Shower Descriptions: Bessie听说有场史无前例的流星雨即将来临:有谶言:陨星将落,徒留灰烬.为保生机,她誓将找寻安全之所(永避星坠之地).目前她正在平 ...

随机推荐

  1. hInstWtsapi32 = LoadLibrary("Wtsapi32.dll");

    https://www.cnblogs.com/beawesome/p/6473668.html 进程枚举 之类

  2. 查找目录下指定类型的所有文件(maven 打包提取脚本)

    1 首先想到的是递归遍历目录 筛选出符合条件的文件 dir命令递归遍历目录 /b控制显示格式 /s递归  /ad 只显示目录 dir /b/s .\* 判断文件类型 操作数得用`` rem 取出文件扩 ...

  3. Flutter-ListTile

    ListTile 通常用于在 Flutter 中填充 ListView.在这篇文章中,我将用可视化的例子来说明所有的参数. title title 参数可以接受任何小部件,但通常是文本小部件 List ...

  4. Flutter-charts_flutter圖表

    pub.dev搜索charts_flutter 導入依賴 charts_flutter: ^0.8.1 項目導入 import 'package:charts_flutter/flutter.dart ...

  5. 插头$DP$学习小结

    插头\(DP\)学习小结 这种辣鸡毒瘤东西也能叫算法... 很优秀的一个算法. 最基本的适用范围主要是数据范围极小的网格图路径计数问题. 如果是像\(Noi2018\)那种的话建议考生在其他两道题难度 ...

  6. hdu 6047: Maximum Sequence (2017 多校第二场 1003)【贪心】

    题目链接 可以贪心写,先把b数组按从小到大的顺序排个序,根据b[i]的值来产生a[n+i] 借助一个c数组,c[i]记录,j从i到n,a[j]-j的最大值,再加上一个实时更新的变量ma,记录从n+1到 ...

  7. Xenu Link Sleuth 简单好用的链接测试工具

    XenuLink Sleuth 名词介绍 “Xenu链接检测侦探”是被广泛使用的死链接检测工具.可以检测到网页中的普通链接.图片.框架.插件.背景.样式表.脚本和java程序中的链接. 那么神马时候出 ...

  8. SSL异常javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

    jdk 7 http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html jdk 8 http: ...

  9. Apache启动报错:Invalid command 'AuthType', perhaps misspelled or defined by a module not included in it

    在apache配置文件里面加了AuthType PFApacheAgent,,结果重启apache的时候歇菜了,,总是报上面的错, <Directory />AllowOverride n ...

  10. DG-V$MANAGED_STANDBY视图

    V$MANAGED_STANDBY displays current status information for some Oracle Database processes related to ...