P1433求助
#include<bits/stdc++.h>
using namespace std;
int n;
float l,mi=666666666,a[20][2],x[20][2];
bool v[20];
void dfs(int k)
{
if(l>mi)
return;
if(k>n)
{
if(l<mi)
mi=l;
return;
}
int j;
float o,p;
for(j=1;j<=n;j++)
if(!v[j])
{
v[j]=true;
x[k][0]=a[j][0];
x[k][1]=a[j][1];
o=a[j][0]-x[k-1][0];
p=a[j][1]-x[k-1][1];
l+=sqrt(o*o+p*p);
dfs(k+1);
l-=sqrt(o*o+p*p);
v[j]=false;
}
}
int main()
{
int i;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%f%f",&a[i][0],&a[i][1]);
dfs(1);
printf("%.2f",mi);
}
wa三个点