摘要:
一个很简单的模板题。中间遇到一个很低级的错误,让我调了半个小时。好了, prim到此为止。接下来还有foyd,djstl,好多啊!加快进度AC:#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>struct point{double x,y;}p[101];double map[101][101];int visit[101];double low[101];int n;int prim(){double min,result=0;int i,j,k,pos; 阅读全文
摘要:
水题,和1102一样。还不如1863呢!今天好像把连通工程这种类型的题刷光了!嘿嘿嘿,掌握prim后刷一道过一道,好痛快!AC:#include<stdio.h>#include<string.h>int map[101][101];int low[101];int visit[101];int n;int prim(){int i,j,k,pos,min;int result=0;memset(visit,0,sizeof(visit));pos=1;visit[pos]=1;for(i=1;i<=n;i++){if(i!=pos)low[i]=map[pos] 阅读全文
摘要:
这道题先判断给出的路能否让村庄联通,如果能够联通就输出最少要修多长的路,如果不能联通,就输出“?”。判联通时,用并查集,判断这些村庄能否在一个集合。 如果在一个集合,接着用prim算法求最小生成树。哈哈哈,幸亏我先前研究过并查集。很简单,简直是两个模板的综合。 0ms ,AC!好爽AC:#include<stdio.h>#include<string.h>int map[101][101];int low[101];int visit[101];int set[101];int n,m; //n条路, m个村儿int find(int x){int r;r=x;whil 阅读全文
摘要:
这道题还是用用prim,模板题。和1233畅通工程很类似。做1233时很顺手,做这道时,稍有不同。题中说明,有些路已经修好,不用再修了。求还要最少修多长的路才能全部连通。kao,刚开始想想歪了,不知道怎么处理那些已经联好的路。又是用邻接矩阵,又是用并查集,相邻好几个代码。都不行,最后看了一眼宪哥的代码。看到他把相连接的两条路之间的距离置为0, 一下就明白了。一改,过了。 中的来说,没变,还是prim算法。AC代码#include<stdio.h>#include<string.h>int map[101][101];int low[101];int visit[101] 阅读全文