/*
参考http://www.cnblogs.com/ACMan/archive/2012/05/21/2512295.html
dfs
*/
#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
using namespace std;
char ch[10][10];
int ok = 0, cnt[5][2] = {{0, 1}, {0, -1}, {-1, 0}, {1, 0}};
int n, m, t, sx, sy, ex, ey;//sx, sy,开始点的横纵坐标,ex,ey结束点的横纵坐标
void dfs(int x, int y, int tt)
{
if(tt == t) //剪枝2,到D点时走过的时间刚好停止,直接返回,不需要再搜索了
{
if(x == ex && y == ey)
ok = 1;
return ;
}
int i, xx, yy;
if(ok) return;//满足要求的直接停止搜索;
int temp;
temp = abs(ex-x) + abs(ey-y) - abs(t-tt);//剪枝3,当到达D点的步数大于时间数时,返回
//temp&1 等于 temp%2 ,当出现奇数次的也不可能到达D点,好好理解
if(temp > 0 || temp&1) return ;
for( i=0; i < 4; i++ )
{
xx = x + cnt[i][0];
yy = y + cnt[i][1];
if(xx >= 0 && xx < n && yy >= 0 && yy < m && ch[xx][yy] != 'X')
{
ch[xx][yy] = 'X';
dfs(xx, yy, tt+1);
ch[xx][yy] = '.';//回溯
}
}
}
int main()
{
int wall;
while(scanf("%d%d%d", &n, &m, &t) != EOF && (n || m || t))
{
int i, j;
wall = 0;
for( i=0; i < n; i++ )
{
scanf("%s",ch[i]);
for( j=0; ch[i][j] != '\0'; j++ )
{
if(ch[i][j] == 'S')
sx = i, sy = j;
if(ch[i][j] == 'D')
ex = i, ey = j;
if(ch[i][j] == 'X')
wall++;
}
}
ok = 0;
if(n*m - wall <= t)//剪枝1,当非 X 的个数小于时间数时,直接输出NO
printf("NO\n");
else
{
ch[sx][sy] = 'X';
dfs(sx, sy, 0);
if(ok)
printf("YES\n");
else
printf("NO\n");
}
}
return 0;
}相关推荐
双向全桥隔离DC-DC变换器(DAB)的调制优化与挑战解析
本文深入解析了双向全桥隔离DC-DC变换器(DAB)的核心调制技术及其面临的挑战。文章从基础的相移调制(SPS)入手,逐步探讨了扩展相移(EPS)、双重相移(DPS)等进阶策略,并重点分析了电流优化与零电压开通(ZVS)等硬核优化技巧。针对DAB在实际应用中存在的建模困难、多模块并联及数字实现等挑战,提供了实用的应对策略与设计思路,旨在帮助工程师在性能、复杂度与成本之间找到最佳平衡。
HDU-1010Tempter of the Bone(dfs+奇偶剪枝)
Tempter of the Bone 题目链接 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 157407 Accepted Submission(s): 41882 Problem Description The doggie...
【转载】参数估计(Parameter Estimation):频率学派(最大似然估计MLE、最大后验估计MAP)与贝叶斯学派(贝叶斯估计BPE)
基础 频率学派与贝叶斯学派 http://www.douban.com/group/topic/16719644/ http://www.zhihu.com/question/20587681 最大似然估计(Maximum likelihood estimation,MLE) http://baike.baidu.com/view/1918804.htm http://baike.baidu.co
HDU-1010-Tempter of the Bone
HDU-1010-Tempter of the Bone http://acm.hdu.edu.cn/showproblem.php?pid=1010 给这题折腾了半天啊,刚开始用BFS写的,总是WA,后来发现这题要求在给定的时间点到达,不能早,也不能迟,而BFS每次求出的是最短时间,不合题意,于是转用DFS,剪枝的方法是参考HDU的PPT写的,居然还要考虑奇偶性 可以把map看成这样:
Pycharm环境配置完整教程
本文主要介绍python解释器安装、Pycharm环境配置以及运行第一个程序的零基础的教程,即使是python小白也能正确配置相应的python学习环境哦!
8-阿里云服务器 ECS配置R及Studio Server
步骤概览:(首先要明确自己的系统然后进行安装)
HDU1010 Tempter of the Bone(DFS+奇偶剪枝)
题目:HDU1010 Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 161732Accepted Submission(s): 42908 Problem Descriptio...
RT-DETR改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
本文记录的是利用模块优化的目标检测网络模型。的目的是在不出现过参数化的情况下有效地增加卷积的感受野,从而解决了在感受野扩展中的参数膨胀问题。本文将其加入到深度可分离卷积中,有效降低模型参数量和计算量,并二次创新,使模块更好地捕捉低频特征,增强网络性能。Wavelet Convolutions for Large Receptive Fields小波卷积及其改进的实现代码如下: 四、创新模块 4.1 改进点1⭐ 模块改进方法:加入(第五节讲解添加步骤)。添加后如下:模块改进方法:基于的(第五节讲解添加步骤)
hdu 1010 Tempter of the Bone(dfs+剪枝)
题目链接:hdu 1010 Tempter of the Bone(dfs+剪枝) 题意:狗狗从S出发,要在正好t秒的时候到达D,每一块地只能走一次,X代表墙不能走,问能否到达 思路:深搜,但是需要剪枝,每走一步,判断能否在剩下的时间中不考虑墙通过最短的路到达出口,若不能直接返回。 #include<cstdio> #include<cstring> #incl...
Open3D 模拟退火算法优化的ICP点云配准
传统ICP算法易陷入局部最优且对初始位姿敏感,而SA算法通过概率性接受劣解,能够在高温阶段广泛探索解空间,低温阶段精细收敛。
prometheus普罗米修斯集监控外部k8s
prometheus普罗米修斯集监控外部k8s
HDU 1010 Tempter of the Bone (DFS+奇偶剪枝)
奇偶剪枝得到新技能
利用dddd_trainer训练通用验证码识别模型
博文介绍了使用dddd_trainer工具训练自定义验证码识别模型的过程,详细展示了从环境搭建、数据集准备到模型训练的全流程。
HDU1008——Elevator,HDU1009——FatMouse‘ Trade,HDU1010——Tempter of the Bone
使用曼哈顿距离作为预估剩余步数的方法,如果剩余步数不足以到达终点,或者剩余步数与曼哈顿距离的差值的奇偶性不同(意味着无法刚好在剩余时间内到达),则直接返回,避免不必要的递归。如果相邻格子在迷宫范围内,并且是可以通行的或为终点,则进行递归调用,并将剩余时间减少1。:首先,我们需要计算出每个房间的单位成本效益,即每磅猫粮能换取多少磅JavaBeans。接着,找出起点和终点的位置,并调用。:从单位成本效益最高的房间开始,尝试用完所有M磅的猫粮。:在交易的过程中,累计可以获得的JavaBeans总量。
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
hdu_1010 Tempter of the Bone
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010 分析:题意即为再规定的时间内从开始点走在结束点。
怀旧版电脑GBC模拟器
再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。
HDU-1010 Tempter of the Bone
搜索 HDU-1010 Tempter of the Bone 题目链接:杭电1010 题目大意:小狗要逃生 只能四个方向走 且走过的地方不能再走 还只能在特定的时间逃生 不能多不能少 解题思路:正常的DFS 想的点要多一点 超时了三次 超时要return 到地方没到时间要return 最最重要的是走过的地方要标记为墙 防止出现出口堵住还瞎探索浪费时间的情况 注意这点的分支行不通时要将点还原 代...
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
HDU.1010 Tempter of the Bone
文章目录一、题目解读1、原题2、分类3、题意4、输入输出格式5、数据范围二、题解参考1、总体思路2、思路①(1).分析(2).AC代码三、评价与后话1、评价2、奇偶剪枝0-1示图绘制代码(C++——EasyX)3、后话 一、题目解读 1、原题 HDU.1010 Tempter of the Bone 2、分类 回溯法 3、题意 给定一个N×MN \times MN×M的迷宫让一只狗去走,迷宫中有一...
hdu1010 Tempter of the Bone
Tempter of the Bone ime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s)
hdu 1010 Tempter of the Bone(bfs)
hdu 1010 Tempter of the Bone http://acm.hdu.edu.cn/showproblem.php?pid=1010 ProblemDescription Thedoggiefoundaboneinanancientmaze,whichfascinatedhimalot.However,whenhep...
hdu1010 Tempter of the Bone
hdu 1010 这是一道剪枝的好题;开始时是朴素的当时间t > T || (t >= T&&g[][] != 'D')时,就return;但是还是TLE;之后看了题解说还要加一个奇偶剪枝,就是对每个坐标;将该点坐标的横坐标和纵坐标加起来奇偶性,这样就是斜对角的划分了;很容易知道之后如果S和D的奇偶性不同,还和t的奇偶性对不上就直接output了;但是有个疑问就是问什么一个看似 作用不大的"
HDU 1010 Tempter of the Bone
题目:HDU 1010 Tempter of the Bone 题目大意:给定N, M, T, 问是否可以从S开始刚好走T步到达D(门). 题解: 很显然DFS搜索一条满足条件的路,不过要注意的是搜索过程中的剪枝,不然就TLE 这题涉及到的剪枝为奇偶剪枝 #include #include #include #include #include #include #include #inc
hdu 1010 Tempter of the Bone[dfs]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010
HDU【1010】Tempter of the Bone
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010 分析 这道题是求是否能够恰好t步到达目的地,而不是到达目的地的最短路径,所以要用深搜,但需要进行剪枝,这里用到的剪枝的方法是奇偶剪枝。 奇偶剪枝讲解链接:https://blog.youkuaiyun.com/code_pang/article/details/8839432 #include<ios...
HDU1010——Tempter of the Bone
http://acm.hdu.edu.cn/showproblem.php?pid=1010 这道题讲的是起点是S要到达D点是否可以恰好在规定的T时间到达,而且走的路径不能返回。 解题思路:用的是深搜,搜索是否在T时间是正好到达D点 剪枝:奇偶剪枝,访问范围不能超过图的范围,访问过了或者遇到X都是不能继续访问了。 难点:状态改变有坐标和时间,以时间为判断结束标识。 #inc...
HDU1010 Tempter of the Bone
HDU1010 Tempter of the Bone题目描述 The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began to shake, and the doggie could feel the ground
【HDU】1010Tempter of the Bone【dfs+剪枝】
单纯用dfs会超时 要用剪枝优化 提供一组变态数据 6 6 37 S..... ...... ...... ...... ...... D..... NO #include<bits/stdc++.h> #include<cstring> using namespace std; struct node{ int x,y; }; int N,M,T; c...
571



被折叠的 条评论
为什么被折叠?



