zoukankan      html  css  js  c++  java
  • P1265 公路修建 (最小生成树)

    题目链接

     1 #include <bits/stdc++.h>
     2 # define LL long long
     3 using namespace std;
     4 
     5 const int maxn=5000+10;
     6 int n;
     7 LL dis[maxn];
     8 int complete[maxn];
     9 
    10 struct City{
    11     LL x,y;
    12 }cities[maxn];
    13 
    14 LL operator*(City &c1, City &c2){
    15     return (c1.x-c2.x)*(c1.x-c2.x)+(c1.y-c2.y)*(c1.y-c2.y);
    16 }
    17 
    18 int main(){
    19     scanf("%d", &n);
    20     for(int i=1;i<=n;++i){
    21         scanf("%lld %lld", &cities[i].x, &cities[i].y);
    22     }
    23     memset(dis,127,sizeof(dis));
    24     dis[1]=0;
    25     for(int i=1;i<=n-1;++i){
    26         int u=0;
    27         for(int j=1;j<=n;++j){
    28             if(complete[j]==1) continue;
    29             if(u==0) u=j;
    30             else{
    31                 if(dis[j]<dis[u]) u=j;
    32             }
    33         }
    34         complete[u]=1;
    35         for(int j=1;j<=n;++j){
    36             if(complete[j]==1) continue;
    37             dis[j]=min(dis[j],cities[u]*cities[j]);
    38         }
    39     }
    40     double res=0;
    41     for(int i=1;i<=n;++i){
    42         res+=sqrt((double)dis[i]);
    43     }
    44     printf("%.2f", res);
    45     return 0;
    46 }
  • 相关阅读:
    自定义函数
    内置函数
    炸裂函数explode
    -bash:ls:command not found,执行命令总是报找不到
    函数
    C#的lock用法
    获取客户端Ip地址方法
    Grunt基础
    常用Sql
    HandleBars
  • 原文地址:https://www.cnblogs.com/FEIIEF/p/12258346.html
Copyright © 2011-2022 走看看