vijos1656萌萌赶考

本文深入探讨了一道独特的算法问题——如何在限定时间内,使用搜索算法帮助角色从家出发,顺利到达考场,同时避免娱乐场所,确保路径的合理性。通过巧妙的剪枝策略,实现高效求解。案例来源于一个充满想象力的故事背景,涉及地图路径规划、时间限制和特定条件的考虑,展示了算法在现实问题解决中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目大意

给定一个地图的起点和终点,地图上有一些点不能通过,问是否存在从起点出发到终点,经过每个点至多一次且路径长度恰好为t的路径

算法分析

很朴素的搜索,但是也是练剪枝的好题。
1假设起点坐标为(sx,sy),终点坐标为(ex,ey),给定时间为t,那么如果满足(sx+sy+t)与(ex+ey),那么直接输出No,正确性显然
2如果地图中可以经过的点的个数小于t,那么直接输出No
3如果已经走到了终点,但是时间不等于t,那么剪枝
用了以上三个剪枝就可以AC了

另外这题有2个很坑的地方= =
1 题目没有说明”S”的意思,如果把S当做起点,在地图中找S那么只有10分
2 不能重复经过其他的点,但是可以重复经过起点一次(什么神奇的设定….

灵异事件

如果按右下左上的方向顺序搜索的话,耗时会比较大。。但是如果改成左上右下的顺序搜索的话,就可以秒杀此题= = 不知道是什么神奇的原理。。

附题目:

描述
绵羊爸爸一晚做了一个奇怪的梦,他梦见了萌萌十七岁的时候参加高考。萌萌所在的考点十分奇特,只有在规定的那1秒钟时刻才会开放(也就是说恰好到达考点,超过或时间未到都不能进入考点)。而萌萌从家里(萌萌的家在左上角)出去,在参加考试的途中可以在大街上走走(可以往上下左右任意方向走,不可以重复经过同一区域),但不能去娱乐场所。现在给你一张JS市的地图,以及从萌萌离开家到考点开放的时间,请你预测萌萌在绵羊老师的梦中能否成功参加这次神奇的高考?
格式
输入格式

输入数据包含多个测试点(不超过5个)。
每个测试点的第一行包含三个正整数N,M,Time(0 < N,M < 7; 0 < Time < 50)。接下来N行给出从萌萌家到考点的地图,每行包含M个字符。所有字符中仅会出现以下情况:
‘*’:表示普通道路;
‘D’:表示当地的考点(仅会出现一次);
‘H’:表示娱乐场所;
左上角的方格内字符一定为’*’。注意:出发点一开始不算走过。
文件将以0 0 0作为结束。
输出格式

对于每一个测试点,你只需要输出’Yes’表示可以准时到达,反之则输出’No’。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值