HDU1010第一道DFS
DFS就是深度搜索算法。。。。感觉就像破案一样。。。。
#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 10
using namespace std;
char map[maxn][maxn];
int mat[maxn][maxn];
int st_x, st_y;
int m, n, t;
int flag;
void dfs(int x, int y, int ti)
{
if(flag||ti > t) return;
else if(map[x][y] == 'D')
{
if(ti == t)
flag = 1;
return ;
}
else if(map[x][y] == '.' || map[x][y] == 'S')
{
mat[x][y] = 1;
if(x - 1 >= 1 && x - 1 <= m && y >= 1 && y <= n && !mat[x - 1][y]) dfs(x - 1, y, ti + 1);
if(x + 1 >= 1 && x + 1 <= m && y >= 1 && y <= n && !mat[x + 1][y]) dfs(x + 1, y, ti + 1);
if(x >= 1 && x <= m && y + 1 >= 1 && y + 1 <= n && !mat[x][y + 1]) dfs(x, y + 1, ti + 1);
if(x >= 1 && x <= m && y - 1 >= 1 && y - 1 <= n && !mat[x][y - 1]) dfs(x, y - 1, ti + 1);
mat[x][y] = 0;
}
}
int main()
{
while(scanf("%d%d%d", &m, &n, &t) != EOF, m + n + t)
{
int i, j;
for(i = 1; i <= m; i ++)
{
for(j = 1; j <= n; j ++)
{
cin >> map[i][j];
if(map[i][j] == 'S')
{
st_x = i;
st_y = j;
}
}
}
flag = 0;
dfs(st_x, st_y, 0);
if(flag) cout << "YES" << endl;
else cout << "NO" << endl;
memset(map, 0, sizeof(map));
memset(mat, 0, sizeof(mat));
}
}
HDU1010第一道DFS的更多相关文章
- 一道dfs和dp结合的好题 --- Longest Run on a SnowboardUVA-10285
题目链接: https://vjudge.net/problem/19213/origin 大致题意: 一个滑雪者想知道自己在固定高度的山坡中最多能滑的距离是多少. 思路: 首先想到的就是dfs,但是 ...
- HDU1010 DFS+剪枝
Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe ...
- ACM/ICPC 之 DFS范例(ZOJ2412-ZOJ1008)
通过几道例题简单阐述一下DFS的相关题型 ZOJ2412-Farm Irrigation 直观的DFS题型,稍加变化,记录好四个方向上的通路就能够做出来 题目和接水管类似,问最少要灌溉几次,即求解最少 ...
- Codeforces 510B Fox And Two Dots 【DFS】
好久好久,都没有写过搜索了,看了下最近在CF上有一道DFS水题 = = 数据量很小,爆搜一下也可以过 额外注意的就是防止往回搜索需要做一个判断. Source code: //#pragma comm ...
- Military Problem CodeForces 1006E (dfs序)
J - Military Problem CodeForces - 1006E 就是一道dfs序的问题 给定一个树, 然后有q次询问. 每次给出u,k, 求以u为根的子树经过深搜的第k个儿子,如果一个 ...
- POJ 1321 - 棋盘问题 - [经典DFS]
题目链接:http://poj.org/problem?id=1321 Time Limit: 1000MS Memory Limit: 10000K Description 在一个给定形状的棋盘(形 ...
- UVA 129困难的串【DFS】
题目链接 题目大意: 给出n,l:要求按特定格式输出由前l个大写字母构成的按字母表排列的第n个没有连续重复子串的字符串以及该字符串长度. 此题是一道dfs递归回溯的基础题,难点在于对当前字符串是否有连 ...
- DFS——hdu1016Prime Ring Problem
一.题目回顾 题目链接:Prime Ring Problem Problem Description A ring is compose of n circles as shown in diagra ...
- HDU 1241 Oil Deposits【DFS】
解题思路:第一道DFS的题目--- 参看了紫书和网上的题解-- 在找到一块油田@的时候,往它的八个方向找,直到在能找到的范围内没有油田结束这次搜索 可以模拟一次DFS,比如说样例 在i=0,j=1时, ...
- 【DFS例题】等式
题目如下: 这道题依然是一道dfs(要求输出方案数很明显用dfs呐) 首先一个模板贴上来: void dfs()//参数用来表示状态 { if(到达终点状态) { ...//根据题意添加 return ...
随机推荐
- WPF 列表控件数据源绑定多个数据集合方法
在 WPF 用的多的列表控件如 ListBox 或 ListView 等,本文告诉大家在这些列表控件上进行绑定多个数据集合来源的多个实现方法.如有一个显示动物列表的控件,需要绑定的数据来源是阿猫和阿狗 ...
- LabView十六进制与字符串之间的转换
一.准备工具 Labview开发软件 字符串与十六进制的转换工具(做测试使用) 在线转换工具:IEE754浮点数16进制转换 本地工具如下图所示: 二.LabView字符串转换为十六进制 在数值中选择 ...
- vue+vant+js实现购物车原理小demo(高级版选择与反选)
新增反选功能.上图(这个系列系利用前端框架的原创): main.js: Vue.use(Stepper); Vue.use(Checkbox); Vue.use(CheckboxGroup); .vu ...
- 【简说Python WEB】Jinja2模板
目录 [简说Python WEB]Jinja2模板 目前环境的代码树 抽离出来的Html模板 渲染模板 条件语句 循环语句 系统环境:Ubuntu 18.04.1 LTS Python使用的是虚拟环境 ...
- 一些简单的Post方式WebApi接收参数和传递参数的方法及总结
原文地址:https://www.zhaimaojun.top/Note/5475297(我自己的博客网站) 各种Post方式上传参数到服务器,服务器接收各种参数的示例 webapi可以说是很常用了, ...
- 01 go-zero入门--单体服务demo
目录 官方文档: 视频地址: 系统环境: 配置环境: 1. golang安装 2. go module配置 3. goctl安装 4.protoc,protoc-gen-go,protoc-gen-g ...
- 在tomcat上安装PFX格式证书部署https
您可以在Tomcat服务器安装已签发的SSL证书,实现通过HTTPS安全访问Web服务.本文介绍如何在Tomcat服务器安装PFX格式的SSL证书. 步骤一:在阿里云的域名管理后台,下载SSL证书 登 ...
- 动态修改manifest.json
点击查看代码 // h5开发环境 const h5Dev = { baseUrl: 'https://devh5.....' } // h5测试环境 const h5Test= { baseUrl: ...
- 在项目中使用UEditor碰到的几个问题
1.文本编辑器的下拉框无法使用.即选择字号字体的下拉选择框无法使用. 通过调试,发现不是编辑器的下拉框没有出来,而是下拉框显示在弹出框的底部,猜测是否和z-index属性有关. 产生这个问题的原因是文 ...
- mac + docker+单击clickhouse+Dbeaver安装全套
一.保证docker安装成功 看下教程:https://www.runoob.com/docker/macos-docker-install.html 二.启动桌面版docker 三.下载clickh ...