码迷,mamicode.com
首页 > 其他好文 > 详细

P1265 公路修建

时间:2018-11-08 22:07:32      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:for   ++   namespace   prim   can   color   stream   nbsp   class   

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 using namespace std;
 5 const int maxm=50000;
 6 double dis[maxm];
 7 int vis[maxm];
 8 int a[maxm],b[maxm];
 9 const int INF=1e9;
10 int main()
11 {
12     int n;
13     scanf("%d",&n);
14     for(int i=1;i<=n;++i)
15     {
16         scanf("%d%d",&a[i],&b[i]);
17     }
18     for(int i=1;i<=n;++i) dis[i]=INF;
19     dis[1]=0;
20     double ans,num=0;
21     int wei;
22     for(int i=1;i<=n;++i)
23     {
24         ans=INF;
25         for(int j=1;j<=n;++j)
26         {
27             if(!vis[j]&&dis[j]<ans)
28             {
29                 wei=j;
30                 ans=dis[j];
31             }
32         }
33         vis[wei]=1;
34         num+=ans;
35         for(int j=1;j<=n;++j)
36         {
37             double check=(double)sqrt((a[wei]-a[j])*(a[wei]-a[j])+(b[wei]-b[j])*(b[wei]-b[j]));
38             if(check<dis[j]) dis[j]=check;
39         }
40     }
41     printf("%.2lf",num);
42     return 0;
43 }

 

Prim算法

P1265 公路修建

标签:for   ++   namespace   prim   can   color   stream   nbsp   class   

原文地址:https://www.cnblogs.com/zytwan/p/9931798.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!