上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 33 下一页
摘要: 题目大意:给一个树状天平,判断是否平衡。树状天平是按递归给出的。题目分析:平衡的条件是子天平都平衡,并且w1*d1==w2*d2,其中w1和w2为子天平的总重量,d1和d2为力矩。代码如下:# include# include# include# includeusing namespace std... 阅读全文
posted @ 2015-10-06 11:43 20143605 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题目大意:一个1~n的升序数字序列,有4种操作。操作1,将x放到y前面一个位置;操作2将x放到y后面的一个位置;操作3交换x和y的位置;操作4反转整个序列。求经过m次操作后的所有奇数项的和。题目分析:建立双向链表,每次操作只需修改链表中的元素指向。代码如下:# include# include# i... 阅读全文
posted @ 2015-10-06 10:29 20143605 阅读(1728) 评论(5) 推荐(0) 编辑
摘要: 题目大意:将一个字符串改变顺序后输出。遇到“[”就将后面内容拿到最前面输出,遇到“]”就将后面的内容拿到最后面输出。题目分析:用nxt[i]数组表示i后面的字符的下标,实际上就是以字符i为头建立链表,写法类似链式前向星。代码如下:# include# include# include# includ... 阅读全文
posted @ 2015-10-05 23:50 20143605 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 题目大意:立体的八数码问题,一次操作是滚动一次方块,问从初始状态到目标状态的最少滚动次数。题目分析:这道题已知初始状态和目标状态,且又状态数目庞大,适宜用双向BFS。每个小方块有6种状态,整个大方格有9*6^8个状态。每个小方块用一位6进制数表示即可。注意:状态转移时要谨慎,否则会出现意想不到的错误... 阅读全文
posted @ 2015-10-05 20:01 20143605 阅读(906) 评论(0) 推荐(0) 编辑
摘要: 题目大意:走迷宫,遇到墙时可以推着墙走,但墙后还是墙时便不能推。求出一条任意的最短路径。题目分析:这道题出的比较人性,输入的时候便是将四周的墙用二进制数表示好了,其实这样减轻了做题人的负担。IDA*,当到最近的一个出口的距离加上当前层数cur都比maxd大时,则剪枝。不过,值得注意的是:当推着墙走的... 阅读全文
posted @ 2015-09-29 15:37 20143605 阅读(502) 评论(1) 推荐(0) 编辑
摘要: 题目大意:在一张图中,以最少的步数将a,b,c移到对应的A,B,C上去。其中,每个2x2的方格都有障碍并且不能两个小写字母同时占据一个格子。题目分析:为避免超时,先将图中所有能联通的空格建起一张图,然后再BFS。代码如下:# include# include# include# include# i... 阅读全文
posted @ 2015-09-28 19:50 20143605 阅读(893) 评论(0) 推荐(0) 编辑
摘要: 题目大意:由字母A到Z组成的字符串,其中有两个子串完全相同的叫做容易的串,反之叫困难的串。找出由前L个字母组成的第n个困难的串。题目分析:简单回溯,不过要判断是否存在重复子串比较棘手。《入门经典》上借鉴八皇后问题,只判断添进字符后是否存在连续子串。具体做法是这样的,以长度为对象枚举以新添进字符为尾巴... 阅读全文
posted @ 2015-09-28 15:46 20143605 阅读(352) 评论(0) 推荐(0) 编辑
摘要: Problem DescriptionFrog fell into a maze. This maze is a rectangle containing N rows and M columns. Each grid in this maze contains a number, which is... 阅读全文
posted @ 2015-09-28 11:51 20143605 阅读(383) 评论(3) 推荐(0) 编辑
摘要: 题目大意:将一个数字序列以最少的剪切次数粘贴成另一个数字序列。题目分析:很显然,最坏的情况是需要n-1次剪切,搜索层数不多,但每一层的状态数目又非常庞大,适宜使用IDA*。考虑每一个序列后续不正确的数字个数h,每一次剪切最多3个数字后续数字发生改变,每次剪切最多可减少3个不正确的后续数字。所以在当前... 阅读全文
posted @ 2015-09-28 10:38 20143605 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 题目大意:用n根长度未必相等的木棒匹配出最多数量的等长木棒。题目分析:枚举所有可能的等长木棒的长度,通过DFS的方式逐根匹配,在此过程中要剪枝。先将木棒长度按从大到小排序,也就是说匹配每一根等长木棒时总是优先挑选长的。剪枝方案如下:1. 若第i-1根木棒在当前方案的匹配中没有用到并且length[i... 阅读全文
posted @ 2015-09-25 11:31 20143605 阅读(583) 评论(0) 推荐(1) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 33 下一页