bfs,首先记录危险方格的时间,因为100时间之后,所有方格均不危险,所以最短时间的最大值为300,记录每个坐标每个时间的状态,直接bfs即可。

#include<cstdio>
#include<iostream>
#include<queue>
using namespace std; struct point{
int x,y,time;
}start; int vis[][][] = {},a[][][] = {},dir[][] = {{-,},{,},{,-},{,}}; int main()
{
int n,m,t;
scanf("%d%d%d",&n,&m,&t);
while(t--)
{
int x,y,start,stop;
scanf("%d%d%d%d",&x,&y,&start,&stop);
a[x][y][] = start;
a[x][y][] = stop;
}
start.x = ;
start.y = ;
start.time = ;
queue<point> q;
q.push(start);
while(!q.empty())
{
int x = q.front().x,y = q.front().y,time = q.front().time;
if(x == n && y == m)
{
printf("%d\n",time);
return ;
}
q.pop();
for(int i = ;i < ;i++)
{
int xx = x+dir[i][],yy = y+dir[i][],timee = time+;
if(xx < || xx > n || yy < || yy > m || timee>=a[xx][yy][]&&timee<=a[xx][yy][] || vis[xx][yy][timee]) continue;
point temp;
temp.x = xx;
temp.y = yy;
temp.time = timee;
q.push(temp);
vis[xx][yy][timee] = ;
}
}
}

最新文章

  1. JS中的数学计算&lt;之简单实例讲解&gt;
  2. python学习 2数学公式
  3. java中包命名常见规则
  4. CSS只是要点-收集
  5. JQuery 遍历子元素+ each函数的跳出+提取字符串中的数字
  6. 译:C#面向对象的基本概念 (Basic C# OOP Concept) 第二部分(封装,抽象,继承)
  7. SDAccel-FPGA将带来至多25倍单位功耗性能提升
  8. devexpress13学习系列(四)PDFViewer(4)
  9. 四则运算出题器(C++)-BUG修复
  10. cp命令的实现
  11. 中缀表达式得到后缀表达式(c++、python实现)
  12. Navicat Premium 修改MySQL密码(忘记密码的情况下)
  13. jsonp 的实质
  14. django rest_framework入门
  15. python3:jsonpath-rw处理Json对象
  16. java笔记--线程的插队行为
  17. What is required for a successful backup of all files during hoi backup?
  18. 笔记-docker-1
  19. Mac端博客发布工具推荐
  20. POJ3111 K Best —— 01分数规划 二分法

热门文章

  1. gcc 命令详解
  2. 27.openpyxl 向指定单元格添加图片并修改图片大小 以及修改单元格行高列宽
  3. 为云而生,腾讯云服务器操作系统TencentOS内核正式开源
  4. 重新认识C语言的指针(上)
  5. python利用sift和surf进行图像配准
  6. SharePoint REST 上传文件请求403错误
  7. floj 2265 【lxs Contest #141】航海舰队
  8. 12.Android-SQLiteOpenHelper使用
  9. 基于js的APP多语言处理
  10. 牛客暑期ACM多校 第七场