摘要: 题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1301题目大意:输入一个n,表示有n个村庄,然后下面是n-1行,每行开头有两个代表字母和数字,分别表示 起始点和与其相同的村庄的个数。然后就是与其相同的村庄和道路长度,求最小连通值。代码View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 int map[30][30]; 5 int vis[30]; 6 int prim(int n) 7 { 8 int ans = 0 阅读全文
posted @ 2012-08-06 20:56 某某。 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 赤裸裸的最小生成树。题目大意就是输入一个N表示有n个村庄,然后输入n行n列,第i行j个元素表示i村庄离j村庄的路数多远(所以i行i列一般为零),然后输入q,表示q条路已修,然后输入q对数就可以了。(权值为零)。求使其n个村庄最小的连通值。需要注意的是可能会有重复的路出现,但是有不同的值。既然是求最小生成树,那么可以用prim算法在输入路的时候保证是最小的值。代码如下View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 int map[105][105]; 5 int 阅读全文
posted @ 2012-08-06 20:52 某某。 阅读(218) 评论(0) 推荐(0) 编辑
摘要: hdu 1879 继续畅通工程 克鲁斯 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 typedef struct node 5 { 6 int u,v,w; 7 }edge; 8 edge e[10005]; 9 int dg[105];10 void init(int n)11 {12 int i;13 for(i = 1;i <=n ;i++)14 dg[i] = i;15 }16 int cmp(const void *a,const void *b)17 {18 阅读全文
posted @ 2012-08-06 20:42 某某。 阅读(195) 评论(0) 推荐(0) 编辑