hdu 2579 BFS

http://acm.hdu.edu.cn/showproblem.php?pid=2579

题目大意:给定 r * c 的迷宫,还有一个整数 k 。迷宫中“.”表示可以走,“#”表示墙,当时间为k的倍数时,这些墙会消失。求从起点“Y”到终点“G”的最短时间。(人不能呆在一点不动)。

 

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<queue>
#include<algorithm>
#define N 105
using namespace std;
char map[N][N];
int step[N][N][10];//多加一维,记录(time%k)
int r,c,k,x_s,y_s,x_e,y_e;
int dir[4][2]={0,1,0,-1,1,0,-1,0};
struct node
{int x,y,mod;
};
int BFS()
{int i;queue<node>q;node now,next;now.x=x_s;now.y=y_s;now.mod=0;memset(step,-1,sizeof(step));step[now.x][now.y][now.mod]=0;q.push(now);while(!q.empty()){now=q.front();q.pop();if(now.x==x_e && now.y==y_e) return step[now.x][now.y][now.mod];for(i=0;i<4;i++){next.x=now.x+dir[i][0];next.y=now.y+dir[i][1];next.mod=(now.mod+1)%k;if(next.x<0 || next.x>=r || next.y<0 ||next.y>=c) continue;if(step[next.x][next.y][next.mod]!=-1)            continue;if(map[next.x][next.y]=='#' && next.mod!=0)       continue;step[next.x][next.y][next.mod]=step[now.x][now.y][now.mod]+1;q.push(next);}}return -1;
}
int main()
{int T,i,j,ans;scanf("%d",&T);while(T--){scanf("%d%d%d",&r,&c,&k);for(i=0;i<r;i++){scanf("%s",map[i]);for(j=0;map[i][j];j++){if(map[i][j]=='Y'){x_s=i;y_s=j;map[i][j]='.';}if(map[i][j]=='G'){x_e=i;y_e=j;map[i][j]='.';}}}ans=BFS();if(ans==-1) printf("Please give me another chance!\n");else printf("%d\n",ans);}return 0;
}


 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

丰富自己, 比取悦他人更有力量

如果有那么一天&#xff0c;你不再记得&#xff0c;我也不再记得&#xff0c;时光一定会代替我们记得。丰富自己&#xff0c; 比取悦他人更有力量&#xff01;下面给大家推荐几个优秀公众号它们每天更新有态度、有干货的原创文字坚持看一段时间 颜值和人生都不一样了【关注方式…

WPF Grid动态显示或隐藏一列的一种方法

项目中有一个需求&#xff0c;需要根据用户的设置动态显示一列&#xff0c;研究了一波后&#xff0c;发现&#xff0c;Grid并没有这个功能&#xff0c;于是通过绑定宽度 的方法&#xff0c;实现的需求。。思路&#xff1a;将需要隐藏的列宽度 绑定到一个属性上&#xff0c;隐藏…

.Net Core with 微服务 - Seq 日志聚合

上一次我们介绍并演示了如果使用 Consul 做为我们微服务的注册中心&#xff0c;来实现服务的注册与发现。那么本次我们讲会演示如何做日志聚合。日志聚合比较常用的有 ELK 等&#xff0c;但是这次我想要介绍的是一款比较小众的日志聚合工具 - Seq 。日志聚合日志是我们写程序离…

苹果白屏一直显示苹果_最新消息显示:苹果还要发新品

距离2020年结束已经进入了倒计时阶段&#xff0c;但最新消息显示苹果可能还会在这个最后的时间节点上召开一场新品发布会。今日&#xff0c;有外媒援引一份苹果内部备忘录报道&#xff0c;称苹果通过内部备忘录向服务提供商发送通知&#xff0c;计划在美国太平洋标准时间 12月8…

“探月计划”来袭,美国米德天文望远镜助孩子观月赏月

▲数据汪特别推荐点击上图进入玩酷屋孩子对于未知的世界充满了好奇&#xff0c;尤其是对于月亮&#xff0c;总是有问不完的问题。例如月亮上是怎么样的&#xff1f;怎么很多人说十五的月亮十六圆&#xff1f;月亮有动物吗&#xff1f;不是说有月兔吗&#xff1f;月亮怎么有时是…

[转]让Linux的tty界面支持中文

fedora下&#xff1a; sudo yum install zhcon 然后切换到tty下面&#xff0c;zhcon --utf8 就可以输入中文了 ubuntu据说分辨率还要调整。fedora下发现不用&#xff5e; 另&#xff1a;tty下上网的方式&#xff0c;可以这样: lynx baidu.com

为什么async/await方法不能有lock或Monitor

相信有不少朋友知道async/await有lock语法的情况一般都会编译错误&#xff0c;这个时候可以通过Monitor来解决编译错误的问题&#xff1b;虽然这样解决的编译错误但本质问题还是没有解决。其实并不是async/await方法不能用lock或Monitor&#xff0c;而是在lock或Monitor的作用域…

每日一笑 | 程序员和产品经理打架了,怎么办?

全世界只有3.14 % 的人关注了数据与算法之美&#xff08;图片来源于网络&#xff0c;侵权删&#xff09;

法斗几个月长鼻筋_聊一下足底筋膜炎治疗经历

几年前&#xff0c;对看到这个词不要觉得可怕&#xff0c;真的是被折磨了好几年。跟大多数病友的故事情节差不多。体重大概180吧&#xff0c;想跑步减肥&#xff0c;然后就开始了貌似很励志的开始。刚开始基本上慢跑&#xff0c;每天都跑&#xff0c;身体也吃得消&#xff0c;但…

新建项目EasyUiAutotest,安装Appium-Python-Client

一、前置说明 Appium-Python-Client 是 Appium 的 Python 客户端库&#xff0c;它提供了一系列的类和方法&#xff0c;用于与 Appium 服务器进行通信&#xff0c;并执行各种移动应用测试操作&#xff0c;包括启动应用、模拟用户输入、点击等操作。 二、操作步骤 1. 启动Pych…

VS Code + ML.NET 玩转交互式机器学习

在上一篇文章中&#xff0c;我们介绍了 .NET Interactive Notbook&#xff0c;可以进行代码实时运行和交互式展示。这对于ML.NET来说非常棒&#xff0c;可以运用到许多场景&#xff0c;比如数据探索、绘制数据图表、编制教学课件等。下面&#xff0c;我们就用出租车费预测&…

ts定义数组类型_ts基本数据类型

typescript基础数据类型布尔值 示例代码最基本的数据类型就是简单的true/false值&#xff0c;在JavaScript和TypeScript里叫做boolean(其它语言中也一样)。let a: boolean trueconsole.log(a)let b: boolean falseconsole.log(b)let c: booleanconsole.log(c)执行结果truefal…

神还原女神照片!GAN为百年旧照上色

全世界只有3.14 % 的人关注了数据与算法之美如何把女神的黑白照片变成彩照&#xff1f;今日&#xff0c;数据汪发现新加坡 GovTech 数据科学与人工智能部门在 Medium 上介绍了一个为百年旧照上色的项目。这个项目名为 Colourise.sg&#xff0c;最初是该团队&#xff08;成员包括…

cacti+nagios 整合遇到的问题

cacti安装成功了&#xff0c;下载一个npc插件来套用nagios&#xff0c;nagios要用ndoutils和cacti连接。主要安装ndoutils出现的问题。启动ndoutils时出错&#xff1a;/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg错误提示&#xff1a;Support for th…

谈谈MySQL面试的45个常见问题

前两天&#xff0c;我跟一个面试官聊天&#xff0c;发现一个普遍想象&#xff0c;不少候选人&#xff0c;对数据库的认知&#xff0c;还处在比较基础的阶段&#xff0c;以为会写“增删改查”、做表关联就足够了&#xff0c;那些工作中经常出现的问题&#xff0c;却支支吾吾答不…

TensorFlow的这些骚操作你都知道吗?

TensorFlow Lite 2019 年发展蓝图分为四个关键部分&#xff1a;易用性、性能、优化和可移植性。自 2015 年 11 月 9 号发布之后&#xff0c;TensorFlow 逐渐成为人工智能领域最广泛运用的深度学习框架。那么TensorFlow框架到底是什么&#xff1f;TensorFlow 是一个大规模机器学…

实现图片打乱_疫情过后,是否打乱了你前进的脚步?面对现状,你将如何开展新的征程?...

2020年的这个春节&#xff0c;一场疫情打乱了所有的计划。就在整个城市都躲起来的时候&#xff0c;有一群人却站了出来。他们背对着我们&#xff0c;却直面着生死&#xff0c;他们每一刻都在与时间赛跑&#xff0c;与死神抢人。他们是值得我们尊敬的人&#xff0c;是最敬爱的人…

SystemCenter2012SP1实践(23)私有云的权限设计

SCVMM和SCAC作为微软私有云的两个重要入口&#xff0c;由于私有云的资源是多部门公用的&#xff0c;为了防止权限扩大导致资源浪费和误操作的可能性&#xff0c;我们在企业中部署的时候&#xff0c;需要认真的规划好用户和相应级别管理员的权限设置。我是分隔线本文主要介绍身份…

面向.NET开发人员的Dapr——参考应用程序

目录&#xff1a;面向.NET开发人员的Dapr——前言面向.NET开发人员的Dapr——分布式世界面向.NET开发人员的Dapr——俯瞰Dapr面向.NET开发人员的Dapr——入门Dapr reference applicationDapr 参考应用Earlier in the book, youve learned about the foundational benefits of D…

数据集转换_为什么LSTM看起来那么复杂,以及如何避免时序数据的处理差异和混乱...

LSTM&#xff08;long short term memory&#xff0c;长短期记忆网络&#xff09;是预测时间序列最常用的神经网络模型之一。但是这种神经网络模型相当复杂&#xff0c;需要特定的结构、数据前期处理等操作。当在网上搜寻要学习的代码时&#xff0c;很难将另一个程序员的代码合…