博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SDUT 1124-飞跃荒野(三维BFS)
阅读量:7046 次
发布时间:2019-06-28

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

飞跃原野

Time Limit: 5000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描写叙述

勇敢的法里奥出色的完毕了任务之后。正在迅速地向自己的基地撤退。但因为后面有着一大群追兵,所以法里奥要尽快地返回基地,否则就会被敌人逮住。
最终。法里奥来到了最后的一站:泰拉希尔原野,穿过这里就能够回到基地了。

然而,敌人依旧紧追不舍。

只是,泰拉希尔的地理条件对法里奥十分有利,众多的湖泊随处分布。

敌人须要绕道而行,但法里奥还是决定找一条能尽快回到基地的路。

 
如果泰拉希尔原野是一个m*n的矩阵,它有两种地形,P表示平,L表示湖泊,法里奥仅仅能停留在平地上。他眼下的位置在左上角(1,1)处,而目的地为右下角的(m,n)。法里奥能够向前后左右4个方向移动或飞行,每移动1格须要1单位时间。而飞行的时间主要花费在变形上,飞行本身时间消耗非常短,所以不管一次飞行多远的距离,都仅仅须要1单位时间。飞行的途中不能变向,而且一次飞行终于必须要降落到平地上。当然,因为受到能量的限制,法里奥不能无限制飞行,他总共最多能够飞行的距离为D。

在知道了以上的信息之后,请你帮助法里奥计算一下,他最快到达基地所须要的时间。

输入

第一行是3个整数,m(1≤m≤100),n(1≤n≤100)。D(1≤D≤100)。表示原野是m*n的矩阵。法里奥最多仅仅能飞行距离为D。接下来的m行每行有n个字符。相互之间没有空格。P表示当前位置是平地,L则表示湖泊。假定(1。1)和(m,n)一定是平地。

输出

一个整数,表示法里奥到达基地须要的最短时间。假设无法到达基地,则输出impossible。

演示样例输入

4 4 2PLLPPPLPPPPPPLLP

演示样例输出

5
 
QAQ用二维的bfs怒搜8个方向就是过不去。Wjj说是要状态同步仅仅能用三维,sad 还是对三维比較不敏感,没往那方面想。

这道题,以行和列为x。y,以飞行距离D为z 建立三维搜索思想,然后每次在4个方向分别让它行走和飞行。其它的没什么了。

 
#include 
//BFS#include
#include
#include
#include
using namespace std;char ma[110][110];bool vis[110][110][110];typedef struct node{ int x,y,d,time;};int n,m,d;int dir[4][2]={
{0,1},{0,-1},{1,0},{-1,0}};void bfs(){ queue
Q; node t;int i,j; t.x=0;t.y=0;t.time=0;t.d=d; Q.push(t); while(!Q.empty()) { node v=Q.front(); Q.pop(); if(v.x==m-1&&v.y==n-1) { cout<
<
=0&&t.x
=0&&t.y
=0&&t.x
=0&&t.y
>m>>n>>d) { memset(vis,0,sizeof(vis)); for(i=0;i
>ma[i]; bfs(); } return 0;}
 
  •  
  •  

版权声明:本文博客原创文章,博客,未经同意,不得转载。

你可能感兴趣的文章
百度启动高管退休计划,总裁张亚勤今年十月退休
查看>>
Entity Framework 6.3 和EF Core 3.0路线图
查看>>
《敏捷时代》作者访谈录
查看>>
Scrum Guides 2017年最新修改
查看>>
Cling旨在提供一款高性能的C++ REPL
查看>>
关于《在Windows与.NET平台上的持续交付实践》的问答录
查看>>
TensorFlow模型的签名推荐与快速上线\n
查看>>
改变的六条规则
查看>>
GitHub是如何改进自身的DNS架构的
查看>>
IntelliJ IDEA 2018.3 新版本发布,支持 Java 12及Spring Boot增强等特性
查看>>
阿里重磅发布大规模图神经网络平台AliGraph,架构算法解读
查看>>
AWS Amplify Console:赋予应用程序快速部署的能力
查看>>
Git漏洞导致攻击者可在用户电脑上运行任意代码
查看>>
书评 —— 《Go语言编程》
查看>>
红帽收购混合云管理提供商NooBaa,混合云爆发节点临近!
查看>>
保持分布式团队同步
查看>>
QCon上海2015盛大开幕
查看>>
Jakarta EE:云原生Java的新平台
查看>>
2018 Node.js用户调查报告显示社区仍然在快速成长
查看>>
WhiteSource推出免费开源的漏洞检查工具
查看>>