蒟蒻求调,MLE+TLE
查看原帖
蒟蒻求调,MLE+TLE
1208645
sunwenjun12345楼主2025/7/27 08:31
#include<bits/stdc++.h>
using namespace std;

const int N=5005;
bool vis[N];
int n;
struct nod{
    double x,y;
};
struct nod2{
    int x,y;
    double w;
    friend bool operator < (nod2 a,nod2 b){
        return a.w>b.w;
    }
};
nod city[N];
double dis(nod a,nod b){
    return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}

int main()
{
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>city[i].x>>city[i].y;
    }
    priority_queue<nod2> q;
    double ans=0;int gs=-1;
    q.push({1,1,0});
    while(!q.empty()){
        auto now=q.top();q.pop();
        if(vis[now.y])continue;
        vis[now.y]=1;
        ans+=now.w;
        gs++;
        for(int i=1;i<=n;i++){
            if(i==now.x||vis[i])continue;
            q.push({now.y,i,dis(city[now.y],city[i])});
        }
    }
    printf("%.2lf",ans);
    return 0;
}
2025/7/27 08:31
加载中...