【hdoj1863】畅通工程
来源:互联网 发布:java参数传递构造函数 编辑:程序博客网 时间:2024/04/24 21:36
啊啊啊,烦呀,畅通工程系列怎么这么多题呀。。。。。。。。
(好在经常一道题做轻度小改就能变成另一道题的答案)
思路:
因为之前做了一道题叫还是畅通工程(hdoj1233),题意几乎一样,我用的普利姆算法,
只在原程序的继续上加了判断语句,
if(min==1000000){
cout<<'?'<<endl;
return;
似乎还做了点细微调整,就ac了,哈哈。
//hdoj1863#include<iostream>using namespace std;int path[101][101];int flag[101];int closepath[101];int sum; void prim(int x,int n){ int i,count=n-1,pose=x;flag[x]=1; for(i=1;i<=n;i++)closepath[i]=path[x][i];while(count){ int min=1000000;for(i=1;i<=n;i++)if(min>closepath[i] && !flag[i]){ min=closepath[i];pose=i;}if(min==1000000){cout<<'?'<<endl;return;}count--;sum+=min;flag[pose]=1;for(i=1;i<=n;i++)if(closepath[i]>path[pose][i] && !flag[i])closepath[i]=path[pose][i];} cout<<sum<<endl;}void main(){ int n,m,i,j,begin,end,len; while(cin>>n,n)//道路数 { cin>>m;//村庄数 memset(flag,0,sizeof(flag)); sum=0; for(i=1;i<=m;i++) for(j=1;j<=m;j++) { if(i==j) path[i][j]=0; else path[i][j]=1000000; } for(i=1;i<=n;i++) { cin>>begin>>end>>len; if(len<path[begin][end])// path[begin][end]=path[end][begin]=len; } prim(1,m); }}
- HDOJ1863-畅通工程
- hdoj1863 畅通工程
- 【hdoj1863】畅通工程
- Hdoj1863畅通工程
- HDOJ1863畅通工程(并查集)
- hdoj1863畅通工程<最小生成树>
- HDOJ1863 畅通工程(Kruskal算法)
- hdoj1863畅通工程(最小生成树模板题)
- HDOJ1863 畅通工程 最小生成书裸题
- hdoj1863
- hdoj1863 ????
- 畅通工程
- 畅通工程
- 畅通工程
- 畅通工程
- 畅通工程
- 畅通工程
- 畅通工程
- 非常古怪的Request timed out 问题
- 超难的SQL Server timed out 和 互锁冲突 的问题,两三年才找到原因。
- 《新编数据结构算法考研指导 》的说明
- 【hdoj2570】迷瘴
- 【hdoj2734】Quicksum
- 【hdoj1863】畅通工程
- 323. Nothing in the world is difficult for one who sets his mind to it. 世上无难事,只怕有心人
- MSSQL求連續ID內數量合計-常見解決方案
- 静态SQL与动态SQL的比较
- 对字符串常量的修改
- java中代码检查checkStyle结果分析 .
- static和extern修饰连接属性
- static的作用
- C库文件说明