随笔分类 - 暴力枚举
摘要:题意:给定一个4*4的棋盘和棋盘上所呈现出来的纸张边缘,问用不超过6张2*2的纸能否摆出指定的形状。 分析:2*2的纸在4*4的棋盘上总共有9种放置位置,枚举所有的放置位置即可。枚举情况总共种。
阅读全文
摘要:题意:从起点出发,可向东南西北4个方向走,如果前面没有墙则可走;如果前面只有一堵墙,则可将墙向前推一格,其余情况不可推动,且不能推动游戏区域边界上的墙。问走出迷宫的最少步数,输出任意一个移动序列。 分析: 1、最少步数--IDA*。 2、注意,若此墙可推动,必须改变当前格子,和沿当前格子向前一步的格
阅读全文
摘要:题意:通过剪切粘贴操作,将n个自然段组成的文章,排列成1,2,……,n。剪贴板只有一个,问需要完成多少次剪切粘贴操作可以使文章自然段有序排列。 分析: 1、IDA*搜索:maxn是dfs的层数上限,若在maxn范围内未找到解,则++maxn,直到找到解。对于每个当前深度deep,若还需要搜索m层才能
阅读全文
摘要:题意:输入一个n*m棋盘(n,m<10),某些格子有标记。用最少的皇后守卫(即占据或者攻击)所有带标记的格子。 分析:因为不知道放几个皇后可以守卫所有带标记的格子,即回溯法求解时解答树的深度没有明显的上限,所以使用迭代加深搜索。 将棋盘的每个格子标记为0~n*m-1,依次枚举守卫的皇后个数,枚举当前
阅读全文
摘要:题意:有n个圆环(n<=15),已知已经扣在一起的圆环,现在需要打开尽量少的圆环,使所有圆环可以组成一条链。 分析:因为不知道要打开哪个环,如果列举所有的可能性,即枚举打开环的所有子集,最多才2^15,即32768。 1、二进制法生成打开环的所有子集 2、枚举每一种子集,环打开后,此环就是孤立的,剩
阅读全文
摘要:题意:根据多米诺骨牌的编号的7*8矩阵,每个点可以和相邻的点组成的骨牌对应一个编号,问能形成多少种由编号组成的图。 分析:dfs,组成的图必须有1~28所有编号。
阅读全文
摘要:题意:平面有k个障碍点。从(0,0)出发,第一次走1个单位,……,第n次走n个单位,恰好回到(0,0),每次必须转弯90°,图形可以自交,但不能经过障碍点。按字典序输出所有移动序列,并输出序列总数。 分析: 1、障碍点可能在出发点。 2、注意拐点不能重复!!! 3、按字典序输出。
阅读全文
摘要:题意:输入着火点n,求结点1到结点n的所有路径,按字典序输出,要求结点不能重复经过。 分析:用并查集事先判断结点1是否可以到达结点k,否则会超时。dfs即可。
阅读全文
摘要:题意:给定图,求是带宽最小的结点排列。 分析:结点数最多为8,全排列即可。顶点范围是A~Z。
阅读全文
摘要:题意:求由字母表前L个字母组成的字典序第n小的困难串。(如果一个字符串包含两个相邻的重复子串,则称它是“容易的串”,其他串称为“困难的串”。) 分析:回溯时,检查枚举的当前串是否为困难串的方法:将最后一个字母(下标为cur)与第cur-j个字母不断依次向前比较j个字母。 采用此种方法的原因是,前面的
阅读全文
摘要:题意:输入n,把1~n组成个环,相邻两个数之和为素数。 分析:回溯法。
阅读全文
摘要:题意:求一个图中只有一个90°拐点的路的最大长度。 分析:枚举每一个为‘.’的点,求出以该点为拐点的八种路中的最大长度,再比较所有点,得出最大长度即可。 如上样例,这样是个90°的角... 注意:最多只有一个拐点,但是通过枚举每一个点的方法,可以在枚举到一条没有拐点的路的端点处时计算出这条路的长度,
阅读全文

浙公网安备 33010602011771号