博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
E - 白银 CSU - 1726: 你经历过绝望吗?两次! 搜索
阅读量:6889 次
发布时间:2019-06-27

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

 

4月16日,日本熊本地区强震后,受灾严重的阿苏市一养猪场倒塌,幸运的是,猪圈里很多头猪依然坚强存活。当地15名消防员耗时一天解救围困的“猪坚强”。不过与在废墟中靠吃木炭饮雨水存活36天的中国汶川“猪坚强”相比,熊本的猪可没那么幸运,因为它们最终还是没能逃过被送往屠宰场的命运。

我们假设“猪坚强”被困在一个N*M的废墟中,其中“@”表示“猪坚强”的位置,“.”表示可以直接通过的空地,“#”表示不能拆毁的障碍物,“*”表示可以拆毁的障碍物,那么请问消防员至少要拆毁多少个障碍物,才能从废墟中救出“猪坚强”送往屠宰场?(当“猪坚强”通过空地或被拆毁的障碍物移动到废墟边缘时,视作被救出废墟)

 

Input

多组数据,第一行有一个整数T,表示有T组数据。(T<=100)

以下每组数据第一行有两个整数N和M。(1<=N,M<=100)

接着N行,每行有一个长度为M的字符串。

 

Output

一个整数,为最少拆毁的障碍物数量,如果不能逃离废墟,输出-1。

 

Sample Input

33 3####@****3 4#####@.***.*3 3.#.#@#.#.

Sample Output

10-1

Hint

搜索水题,代码不难理解,就不说了

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
typedef long long LL;typedef long double LD;using namespace std;const int maxn=111;char ma[maxn][maxn];int vis[maxn][maxn];//int f[8][2]={ {-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}};int f[4][2]={ {-1,0},{1,0},{0,-1},{0,1}};int N,M,T;struct node{ int x,y; int step; friend bool operator <(node a,node b) { return a.step>b.step; }};priority_queue
q;bool OK(int x,int y){ if(x>=0&&y>=0&&x

 

转载于:https://www.cnblogs.com/107acm/p/9428316.html

你可能感兴趣的文章
windows远程连接失败的原因
查看>>
我的友情链接
查看>>
JSCH会大量使用服务器内存吗?会
查看>>
2017年围绕自动驾驶会出现新一轮的淘金热,这是真的吗?
查看>>
Centos下邮件服务器(postfix)的配置(一)
查看>>
深夜,想到今天学的linux内容,太值了
查看>>
Thread类常用方法
查看>>
/etc/resolv.conf中内容被清空的解决办法
查看>>
Yarn大体框架和工作流程研究
查看>>
vue学习笔记(一)
查看>>
微软专家推荐11个Chrome 插件
查看>>
三天学会HTML5——SVG和Canvas的使用
查看>>
Azure 部署 Asp.NET Core Web App
查看>>
MySql基本操作(二)
查看>>
SaaS、PaaS和云计算 搅动未来软件发展
查看>>
App测试点
查看>>
运行jar包
查看>>
supervisor centos安装
查看>>
深入分析:Flash vs. HTML5 網路影音格式落誰家?
查看>>
带你领略Linux系统发展及版本更迭
查看>>