MST——HDOJ 1102/1875
来源:互联网 发布:人工智能之父 图灵 编辑:程序博客网 时间:2024/06/05 14:16
HDOJ 1102 Constructing Roads
/*HDOJ 1102MST基本应用*/#include <iostream>using namespace std;#define INF 2000int graph[103][103];int lowcast[103];int find[103];int N,sum;void Prim(int v){int i,j,min,u;for(i=1;i<=N;i++){find[i]=0;lowcast[i]=graph[v][i];}find[v]=1;for(i=1;i<=N;i++){min=INF;for(j=1;j<=N;j++){if(!find[j] && lowcast[j]<min){min=lowcast[j];u=j;}}if(min == INF)return;find[u]=1;sum += min;for(j=1;j<=N;j++){if(!find[j] && graph[u][j]<lowcast[j])lowcast[j]=graph[u][j];}}}int main(){int i,j,m,a,b;while(scanf("%d",&N) != EOF){for(i=1;i<=N;i++)for(j=1;j<=N;j++)cin>>graph[i][j];scanf("%d",&m);for(i=1;i<=m;i++){scanf("%d%d",&a,&b);graph[a][b]=graph[b][a]=0; //已经建好的就直接设为0加上也不影响结果}sum=0;Prim(1);printf("%d\n",sum);}return 0;}
HDOJ 1875 畅通工程再续
/*HDOJ 1875 畅通工程MST,输入是用矩阵的,所以用Prim来做比较方便*/#include <math.h>#include <iostream>#include <iomanip>using namespace std;#define INF 9999999.9struct land{int x;int y;}Land[101];double graph[101][101];int find[101];double lowcast[101];int C,count;double sum;void Prim(int v){int i,j,u;double min;for(i=0;i<C;i++){find[i]=0;lowcast[i]=graph[v][i];}find[v]=1;for(i=1;i<C;i++){min=INF;for(j=0;j<C;j++){if(!find[j] && lowcast[j]<min){min=lowcast[j];u=j;}}if(min == INF)return ;find[u]=1;sum += min;count++;for(j=0;j<C;j++){if(!find[j] && graph[u][j]<lowcast[j])lowcast[j]=graph[u][j];}}}int main(){int nCase,i,j,temp_1;double temp_2;cin>>nCase;while(nCase--){cin>>C;for(i=0;i<C;i++){cin>>Land[i].x>>Land[i].y;}for(i=0;i<C;i++){graph[i][i]=0;for(j=i+1;j<C;j++){temp_1=(Land[i].x-Land[j].x)*(Land[i].x-Land[j].x)+(Land[i].y-Land[j].y)*(Land[i].y-Land[j].y);temp_2=sqrt(double(temp_1));if(temp_2<10 || temp_2>1000)graph[i][j]=graph[j][i]=INF;elsegraph[i][j]=graph[j][i]=temp_2;}}sum=0.0;count=0;Prim(0);if(count == C-1){sum=sum*100;cout<<setiosflags(ios::fixed);cout<<setprecision(1)<<sum<<endl;}elsecout<<"oh!"<<endl;}return 0;}
- MST——HDOJ 1102/1875
- MST/UFS——HDOJ 1232
- MST——HDOJ 1233/1863/1879
- The Unique MST--hdoj
- MST——Prime
- MST——Kruskal
- hdoj 5253 连接的管道 【MST】
- poj1679——The Unique MST
- poj1679——The Unique MST
- POJ1679——The Unique MST
- 算法14讲——MST/Greedy
- MST
- MST
- MST......
- mst
- MST
- MST
- MST
- 50 Brilliant CSS3/JavaScript Coding Techniques
- 谷歌字典mac客户端
- JSTL常用标签用法
- chrome各种实用快捷键,上网飞一般的速度!
- VS2010下配置openGL
- MST——HDOJ 1102/1875
- C语言中常用库函数及其用法-atol()
- Hadoop学习笔记
- 流操作的特性
- 一个可以将汉字转为拼音的存储过程
- 简单倒计时(距离本月月底的天数)
- ArcGis Server Api for Silverlight 注意事项
- hdu 1049 jump worm
- 《UNIX网络编程 》学习笔记 (四)