ACM_Jack拆炸弹(深搜)
Jack拆炸弹
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
在一个由n*n个格子组成的监狱里被恐怖份子安置了一个定时炸弹。其中,连续的“.”表示格子之间可以通行,“#”表示障碍物。每次只能按上下左右4个方向走,有障碍物就不能通过。给出一副监狱的俯视图和炸弹(B)和侦探Jack(P)的位置,问Jack能不能找到炸弹的安置点并及时把它拆除,若可以输出"Yes",否则输出“No”.
Input:
输入包含多组测试数据,每组数据第一行为一整数n(n<=100),接着以方格形式输入n*n个字符。
Output:
对于每组测试数据,输出为一行,若Jack可以找到炸弹输出"Yes",否则输出“No”.
Sample Input:
4
#.P.
.#..
.##.
.B..
8
#.#....P
B#....#.
.#......
#......#
.#....#.
#....###
.##.....
#......#
Sample Output:
Yes
No
解题思路:还是简单的深搜,水过!
AC代码(7ms):
#include<bits/stdc++.h>
using namespace std;
int si,sj,n,dir[][]={{-,},{,},{,},{,-}};char msp[][];bool flag;
void dfs(int x,int y){
if(x<||y<||x>=n||y>=n||msp[x][y]=='#')return;
if(msp[x][y]=='B'){flag=true;return;}//找到'B',则直接返回
msp[x][y]='#';//将走过的点标记为'#',表示不能再走
for(int i=;i<;++i){
dfs(x+dir[i][],y+dir[i][]);
if(flag)return;//如果找到,则直接返回
}
}
int main(){
while(~scanf("%d",&n)){
for(int i=;i<n;++i){
getchar();//吃掉回车符对字符读取的影响
for(int j=;j<n;++j){
scanf("%c",&msp[i][j]);
if(msp[i][j]=='P'){si=i,sj=j;}//标记'P'的坐标
}
}
flag=false;dfs(si,sj);
if(flag)printf("Yes\n");
else printf("No\n");
}
return ;
}
ACM_Jack拆炸弹(深搜)的更多相关文章
- uva12558 Egyptian Fractions (HARD version)(迭代深搜)
Egyptian Fractions (HARD version) 题解:迭代深搜模板题,因为最小个数,以此为乐观估价函数来迭代深搜,就可以了. #include<cstdio> #inc ...
- 方格取数(多线程dp,深搜)
https://www.luogu.org/problem/P1004 题目描述 设有N×N的方格图(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样例): 某 ...
- HDU--杭电--1195--Open the Lock--深搜--都用双向广搜,弱爆了,看题了没?语文没过关吧?暴力深搜难道我会害羞?
这个题我看了,都是推荐的神马双向广搜,难道这个深搜你们都木有发现?还是特意留个机会给我装逼? Open the Lock Time Limit: 2000/1000 MS (Java/Others) ...
- 利用深搜和宽搜两种算法解决TreeView控件加载文件的问题。
利用TreeView控件加载文件,必须遍历处所有的文件和文件夹. 深搜算法用到了递归. using System; using System.Collections.Generic; using Sy ...
- 2016弱校联盟十一专场10.3---Similarity of Subtrees(深搜+hash、映射)
题目链接 https://acm.bnu.edu.cn/v3/problem_show.php?pid=52310 problem description Define the depth of a ...
- 2016弱校联盟十一专场10.2---Around the World(深搜+组合数、逆元)
题目链接 https://acm.bnu.edu.cn/v3/problem_show.php?pid=52305 problem description In ICPCCamp, there ar ...
- 2015暑假多校联合---Cake(深搜)
题目链接:HDU 5355 http://acm.split.hdu.edu.cn/showproblem.php?pid=5355 Problem Description There are m s ...
- 深搜+回溯 POJ 2676 Sudoku
POJ 2676 Sudoku Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 17627 Accepted: 8538 ...
- 深搜+DP剪枝 codevs 1047 邮票面值设计
codevs 1047 邮票面值设计 1999年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description ...
随机推荐
- Linux查看用户列表
cat /etc/passwd 可以查看所有用户的列表w 可以查看当前活跃的用户列表cat /etc/group 查看用户组 groups 查看当前登录用户的组内成员groups gliethttp ...
- Python爬虫入门教程第七讲: 蜂鸟网图片爬取之二
蜂鸟网图片--简介 今天玩点新鲜的,使用一个新库 aiohttp ,利用它提高咱爬虫的爬取速度. 安装模块常规套路 pip install aiohttp 运行之后等待,安装完毕,想要深造,那么官方文 ...
- Jet --theory
(FIG. 6. A caricature of turbulent jet and the entrainment., Jimmy, 2012) Ref: Jimmy Philip, Phys. F ...
- 匹配 C 语言样式字符串
#include <stdio.h> char haha[] = "nihaoma" "niubi" "\"hello worl ...
- 【模板】Lca倍增法
Codevs 1036 商务旅行 #include<cstdio> #include<cmath> #include<algorithm> using namesp ...
- spring boot 的使用(一)
1. 启动spring-boot项目 mvn spring-boot:run cd target java -jar xxxx.jar xxxx代表生成的jar包
- Ajax提交post请求返回404错误
最近使用ajax提交表单的时候,发现无法执行success函数,后台的代码也正常执行了,但是就是无法执行success函数,执行error函数,返回的错误代码时404.显然是找不到请求的url. 可是 ...
- kafka streams
https://docs.confluent.io/current/streams/concepts.html#ktable
- The Evaluation of Determinant(求行列式mod一个数的值)
#include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #i ...
- Ubuntu 16.04通过Trickle限制某个软件的下载/上传速度
在Linux下没有Windows使用360那样去限制某个软件的速度. 但是通过Trickle可以设置某个软件的网速,但是前提是通过Trickle命令连带启动这个软件才可以,不能中途去设置. 比如现在很 ...