摘要: 汉诺塔(一)时间限制:1000 ms | 内存限制:65535 KB难度:3描述在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。现在请你计算出起始有m个金片的汉诺塔金片全部移动到另外一个针上时需要移动的最少步 阅读全文
posted @ 2012-06-20 16:37 可笑痴狂 阅读(638) 评论(0) 推荐(0) 编辑
摘要: 汉诺塔(三)时间限制:3000 ms | 内存限制:65535 KB难度:3描述在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。现在我们把三根针编号为1,2,3。所有的金片在初始时都在1号针上,现在给你的任务 阅读全文
posted @ 2012-06-20 16:04 可笑痴狂 阅读(432) 评论(0) 推荐(0) 编辑
摘要: Common SubsequenceTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 12381Accepted Submission(s): 5083Problem DescriptionA subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = <x1, 阅读全文
posted @ 2012-06-17 22:14 可笑痴狂 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 畅通工程再续Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6616 Accepted Submission(s): 1977Problem Description相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现。现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全畅通!经过考察小组RPRush对百岛湖的情况充分了解后,决定在符合条件... 阅读全文
posted @ 2012-06-15 16:27 可笑痴狂 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 畅通工程续Time Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11370Accepted Submission(s): 3814Problem Description某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。Input本题目包含多 阅读全文
posted @ 2012-06-14 16:22 可笑痴狂 阅读(195) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>int father[1001];int find(int a){ while(father[a]>0) { a=father[a]; } return a;}int main(){ int n,m,t,i,a,b,num; scanf("%d",&t); while(t--) { num=0; scanf("%d%d",&m,&n); for(i=1;i<=m;++i) father[i]=-1; for(i=1;i<=n;++i) { scanf("%d 阅读全文
posted @ 2012-06-14 13:10 可笑痴狂 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 畅通工程Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15547Accepted Submission(s): 7974Problem Description某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input测试输入包含若干测试用例。每个测试用例的第1行给 阅读全文
posted @ 2012-06-14 10:32 可笑痴狂 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 代码一:普里母算法#include<stdio.h>int map[101][101];int visit[101];int prim(int n);int main(){ int n,m,a,b,i,j; while(~scanf("%d",&n)) { for(i=1;i<=n;++i) { visit[i]=0; for(j=1;j<=n;++j) scanf("%d",&map[i][j]); } scanf("%d",&m); for(i=1;i<=m;++i) { sc 阅读全文
posted @ 2012-06-14 09:38 可笑痴狂 阅读(198) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1062字符串处理问题 1 #include<stdio.h> 2 #include<string.h> 3 int main() 4 { 5 int n,i,k,len; 6 char s[1005],t[1005]; 7 scanf("%d",&n); 8 getchar(); 9 while(n--)10 {11 gets(s);12 len=strlen(s);13 k=0;14 for(i=... 阅读全文
posted @ 2012-06-13 21:01 可笑痴狂 阅读(249) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2502这题本来应该用迪杰斯特拉做的 ,因为想试试弗洛伊德所以就试试 谁知道代码一一直wrong ,路过的麻烦指点一下代码一:#include<stdio.h>#include<math.h>struct node{ double x; double y;}node[205];double dis[205][205];double cal(struct node a,struct node b){ return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));}int mai 阅读全文
posted @ 2012-06-12 21:15 可笑痴狂 阅读(187) 评论(0) 推荐(0) 编辑