#3WA,#9,10,12,13TLE,70分求调
查看原帖
#3WA,#9,10,12,13TLE,70分求调
1761184
gmrisme55555楼主2025/6/22 10:24
#include<bits/stdc++.h>
using namespace std;
struct node{
    int x,y;
}a[25];
int f[25];
double ans=2e9;
int n;
double dis(node a,node b){
    return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
void pai(int x,node last,double sum){
    if(ans<=sum) return;
    if(x==n+1){
        ans=min(ans,sum);
        return;
    }
    for(int i=1;i<=n;i++){
        if(f[i]==0){
            f[i]=1;
            pai(x+1,a[i],sum+dis(last,a[i]));
            f[i]=0;
        }
    }
}
int main(){

    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].x>>a[i].y;
    }
    pai(1,{0,0},0);
    cout<<fixed<<setprecision(2)<<ans;
	return 0;
}

(说实话,测试记录还怪好看的)

2025/6/22 10:24
加载中...