POJ
来源:互联网 发布:windows 程序设计 编辑:程序博客网 时间:2024/06/10 21:28
/**水题 水题 prim 水过;以后再来写一波克鲁斯卡尔;并查集不是很溜;*/#include<cstdio>#include<cstring>using namespace std;const int inf=0x3f3f3f3f;const int maxn=1e2+7;int n,m,ans,mmp[maxn][maxn],dis[maxn];bool vis[maxn];void prim(){ ans=0; for(int i=1;i<=n;i++) { dis[i]=mmp[1][i]; vis[i]=0; } vis[1]=1; for(int i=1;i<=n;i++) { int k=-1,Min=inf; for(int j=1;j<=n;j++) { if(!vis[j]&&dis[j]<Min) { Min=dis[j]; k=j; } } if(k==-1) break; vis[k]=1; ans+=Min; for(int j=1;j<=n;j++) if(!vis[j]&&dis[j]>mmp[k][j]) dis[j]=mmp[k][j]; } printf("%d\n",ans);}int main (){ while(~scanf("%d",&n)) { if(n==0) break; scanf("%d",&m); if(m==0) {printf("0\n");continue;} for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(i==j) mmp[i][j]=0; else mmp[i][j]=inf; for(int i=1;i<=m;i++) { int u,v,w; scanf("%d %d %d",&u,&v,&w); if(w<mmp[u][v]) mmp[u][v]=mmp[v][u]=w; } prim(); } return 0;}
阅读全文
0 0
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- jsp java web使用struts2后出现“The requested resource is not available”
- oracle 取前一分钟、类型转换、时间差
- 数组类—DynamicArray
- [JAVA] 一条新闻引出的思考,关于不用中间变量交换两个变量的值
- [ Pollard_rho ] BZOJ4522
- POJ
- Trust region policy optimization笔记
- Freemarker使用--备忘录
- 五家共井问题
- macoxs 安装lua
- FFT 板子
- 演示如何标记删除文本和插入文本
- Spring中使用Validator进行数据验证
- 【luoguP2380】狗哥采矿