如何优化
#include<bits/stdc++.h>
using namespace std;
void dfs(int i,int x);
double a[20],b[20];
double dist[20][20],mind=0xffffff,dqd;int n,use[20];
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%lf%lf",&a[i],&b[i]);
}
a[0]=b[0]=0;
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
dist[i][j]=sqrt(pow(a[i]-a[j],2)+pow(b[i]-b[j],2));
}
}
dfs(0,0);
printf("%.2lf",mind);
}
void dfs(int f,int x){
if(f==n){
mind=dqd;
}
else{
for(int i=1;i<=n;i++){
if(use[i]==0&&dqd+dist[x][i]<mind){
use[i]=1;
dqd+=dist[x][i];
dfs(f+1,i);
use[i]=0;
dqd-=dist[x][i];
}
}
}
}
测评结果链接
QQQQQwQ