摘要: Problem DescriptionACM亚洲区比赛结束,意味着开始备战明年的浙江省大学生程序设计竞赛了!杭州电子科技大学ACM集训队也准备开始组队。教练想把所有的n个队员组成若干支队伍,原则是每支队伍至少一人,最多三人。现在问题来了:如果已知集训队队员的数量n,请你帮教练计算出所有可能的组队方案... 阅读全文
posted @ 2015-12-01 18:55 52Cassie 阅读(275) 评论(0) 推荐(0) 编辑
摘要: Problem Descriptionn个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过程中会产生2^n个系列。由于发生错移产生的系列就增加了,这种错误是放错了柱子,并不会把大盘放到小盘上,即各柱子从下往上的大小仍保持如下关系 :n=m+p+qa1>a2>...>amb1>b2>...>bp... 阅读全文
posted @ 2015-11-15 22:00 52Cassie 阅读(118) 评论(0) 推荐(0) 编辑
摘要: Problem Description用1,2,...,n表示n个盘子,称为1号盘,2号盘,...。号数大盘子就大。经典的汉诺塔问题经常作为一个递归的经典例题存在。可能有人并不知道汉诺塔问题的典故。汉诺塔来源于印度传说的一个故事,上帝创造世界时作了三根金刚石柱子,在一根柱子上从下往上按大小顺序摞着6... 阅读全文
posted @ 2015-11-07 17:27 52Cassie 阅读(217) 评论(0) 推荐(0) 编辑
摘要: Problem Description还记得汉诺塔III吗?他的规则是这样的:不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允许大盘放到小盘的上面。xhd在想如果我们允许最大的盘子放到最上面会怎么样呢?(只允许最大的放在最上面)当然最后需要的结果是盘子从小到大... 阅读全文
posted @ 2015-11-07 16:33 52Cassie 阅读(122) 评论(0) 推荐(0) 编辑
摘要: Problem Description约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到右边的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。现在我们改变游戏的玩法,不允许直接从最... 阅读全文
posted @ 2015-10-31 16:07 52Cassie 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1207四柱汉诺塔问题当r = (sqrt(8*n+1)-1)/2 时,存在 count =(n-(r*r-r+2)/2)*(int)pow(2,r)+1 ,此时所需的步骤最少。 1 #include 2 ... 阅读全文
posted @ 2015-10-31 14:59 52Cassie 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 快速找到未知长度单链表的中间节点使用快慢指针,当一个指针i指向下一个节点时,另一个指针j指向下一个节点的下一个节点。即j的移动速度是i的两倍,当j指向最后一个节点时,i指向链表的中间节点代码如下:#include#includetypedef int ElemType;typedef struct ... 阅读全文
posted @ 2015-09-17 20:58 52Cassie 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 约瑟夫问题升级问题编号为1~N的N个人按顺时针方向围坐一圈,每个人持有一个密码(正整数,可以自由输入),开始人选一个正整数作为报数上限值M,从第一个人按顺时针方向自1开始顺序报数,报道M是停止报数。报M的人出列,将他的密码作为新的M值,从他的顺时针方向上的下一个人开始从1报数,如此下去,直至所有人全... 阅读全文
posted @ 2015-09-17 20:51 52Cassie 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 利用循环链表模拟约瑟夫问题,把自杀的人的顺序排列出来代码如下: 1 #include 2 #include 3 4 typedef int status; 5 6 typedef struct node 7 { 8 status data; 9 struct node *next... 阅读全文
posted @ 2015-09-17 20:43 52Cassie 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 要求实现用户输入一个数改变26个字母的排列顺序例如输入3:DEFGHIJKLMNOPQRSTUVWXYZABC输入-3:XYZABCDEFGHIJKLMNOPQRSTUVW使用循环链表代码如下: 1 #include 2 #include 3 4 #define OK 1 5 #define ER... 阅读全文
posted @ 2015-09-17 20:37 52Cassie 阅读(230) 评论(0) 推荐(0) 编辑