zoukankan      html  css  js  c++  java
  • P1265 公路修建

    裸prim

    //P1265 公路修建
    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const int inf=987654321;
    struct cc{
        ll x,y;
    }a[5005];
    bool v[5005];
    double d[5005];
    inline int read(){
        int k=0,f=1;
        char c=getchar();
        while(!isdigit(c)){
            if(c=='-') f=-1;
            c=getchar(); 
        }
        while(isdigit(c)){
            k=(k<<1)+(k<<3)+(c^48);
            c=getchar();
        }
        return k*f;
    }
    inline double cal(int x,int y){
        return sqrt((double)(a[x].x-a[y].x)*(a[x].x-a[y].x)+(double)(a[x].y-a[y].y)*(a[x].y-a[y].y));
    }
    int main(){
        int n;
        n=read();
        for(int i=1;i<=n;i++){
            a[i].x=read();
            a[i].y=read();
            d[i]=inf;
        }
        int pos;
        d[1]=0;
        double ans=0;
        for(int i=1;i<=n;i++){
            double minn=inf;
            for(int j=1;j<=n;j++){
                if(!v[j]&&d[j]<minn){
                    minn=d[j];
                    pos=j;
                } 
            }
            ans+=minn;v[pos]=1;
            for(int j=1;j<=n;j++){
                double dd=cal(pos,j); //边计算边修改 
                if(d[j]>dd) d[j]=dd; 
            }
        }
        printf("%.2lf",ans);
        return 0;
    }
  • 相关阅读:
    Python运算符及逻辑运算
    Python编码、流程控制、格式化输出
    Docker私有仓库Harbor部署与使用
    react
    理事会
    关于elementui form表单过长,看不到未填项
    js
    vue 父子传值
    养生
    html知识点
  • 原文地址:https://www.cnblogs.com/duojiaming/p/11818112.html
Copyright © 2011-2022 走看看