随笔分类 - BFS
摘要:题目链接 http://poj.org/problem?id=3414 题意 有两个杯子,容量分别为A升,B升,可以向杯子里倒满水,将杯子里的水倒空,将一个杯子里的水倒到另一个杯子里,求怎样倒才能使其中的一个杯子里的水恰为C升,输出最少步数和操作;如果不能倒到C升,输出“impossible”。 思
阅读全文
摘要:题目链接 http://poj.org/problem?id=1606 题意 有两个容量分别为ca,cb的杯子,可以向杯子里倒水,将杯子里的水倒空,将一个杯子里的水倒到另一个杯子里,求怎样倒才能使其中的一个杯子里的水恰为N加仑。 思路 两个杯子里的水量组成一个状态,不断地进行题中的6种操作来扩展状态
阅读全文
摘要:题目链接 http://poj.org/problem?id=2243 题意 输入8*8国际象棋棋盘上的两颗棋子(a~h表示列,1~8表示行),求马从一颗棋子跳到另一颗棋子需要的最短路径。 思路 使用bfs求解,注意国际象棋中马的走法。 代码
阅读全文
摘要:题目链接 http://poj.org/problem?id=1475 题意 推箱子游戏。输入迷宫、箱子的位置、人的位置、目标位置,求人是否能把箱子推到目标位置,若能则输出推的最少的路径,如果有多条步数相同的推的最少的路径,则输出总步数(人走的步数+推箱子的步数)最少的那条路径;若不能把箱子推到目标
阅读全文
摘要:题目链接 http://poj.org/problem?id=1915 题意 输入正方形棋盘的边长、起点和终点的位置,给定棋子的走法,输出最少经过多少步可以从起点走到终点。 思路 经典bfs题目。 代码
阅读全文
摘要:题目链接 http://poj.org/problem?id=2956 题意 如果一个数中的每一位都是不同的,那么这个数叫做无重复数,如11是有重复数,12是无重复数。输入正整数n(1<=n<=1000000),输出第n个无重复数。 思路 可以使用两种方法来解决本题:枚举和bfs。 方法一:枚举 如
阅读全文
摘要:题目链接 http://poj.org/problem?id=1753 题意 一个棋盘上有16个格子,按4×4排列,每个格子有两面,两面的颜色分别为黑色和白色,游戏的每一轮选择一个格子翻动,翻动该格子意味着将该格子及其上下左右格子(如果存在的话)的黑面朝上变成白面朝上,反之亦然,游戏的目标是格子全部
阅读全文