BFS & DFS
叫兽的碳碳双键
这个作者很懒,什么都没留下…
展开
-
Fire!UVA - 11624 多点广搜
Fire!UVA - 11624 多点广搜 原题链接:UVA - 11624 题目大意: Joe现在处在一个迷宫中,但是迷宫起火了,Joe当下需要逃生,Joe和火都可以往上下左右四个方向移动,问Joe能不能逃出迷宫。如果能,则输出Joe需要移动的步数,如果不能,则输出IMPOSSIBLE。特别注意:迷宫中的起火点不止一处!!!! 其中: # 代表墙 . 代表可以移动的方块 J Joe的初始位置 F 当前方块上有火 思路: 对人和火同时进行广搜,火先走一步,人再走一步。这样看人最后是否能够原创 2021-01-06 16:57:06 · 94 阅读 · 0 评论 -
Pots 广搜 + 路径回溯 POJ - 3414
题目来源:POJ - 3414 题意简述: 给你A、B两个瓶子,一个容量C,问如何才能用最少的操作倒出其中一个瓶子装有C升的液体,输出操作次数和操作序列。 你可以进行的操作有: 1、FILL:装满A或B 2、DROP:倒光A或者B 3、POUR:将A倒到B中,或者将B倒入A中 思路: 由于本题是需要最少的操作次数,,每个操作可能有6种情况,并且需要的是一个操作序列,所以考虑使用BFS枚举六种情况+路径回溯找出操作序列。 AC代码: #include<stdio.h> #include<原创 2021-01-06 16:27:33 · 82 阅读 · 0 评论 -
迷宫问题 - POJ - 3984 (广搜 + 路径记录)
迷宫问题 - POJ - 3984 (广搜 + 路径记录) POJ-3984:原题链接,点击进入 心态炸裂,很气,这道题的写广搜一会就完成了,但是路径记录今天几乎卡了我一天,一直想不通怎么实现不重复记录走过的点,最后在大佬的提示和网上的资料的帮助下,终于解决了!!!哦对了,据说这题后台样例只有一组,还是题上给出的,所以直接暴力解决更快哦,哈哈哈哈哈哈……_ 问题描述: 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,原创 2020-12-08 21:26:46 · 149 阅读 · 0 评论 -
POJ 3278 - Catch That Cow
POJ 3278 - Catch That Cow 题意: FJ要抓回逃跑的奶牛,FJ和奶牛均站在同一条线上,FJ的位置在N点,奶牛的位置在K点,假设在FJ在靠近奶牛的过程中,奶牛不会移动,对于FJ靠进奶牛的过程中,他有两种移动方式: 1、走:FJ可以在当前位置X处进行X-1或者X+1的移动 2、传送:FJ可以从X位置传送到2*X的位置 问:如果每移动一次,需要花费1分钟,FJ最短需要花多少时间抓住奶牛? 思路: 我们需要考虑两种情况: 1、当N>=K的时候,FJ就必须往回走,则需要的路程是N-J;原创 2020-12-03 21:22:21 · 95 阅读 · 0 评论