我用的是dfs  然而我的dfs真的没学会
结果只有20分qwq
一脸委屈.JPG
下面贴下代码
#include<bits/stdc++.h>
using namespace std;
int n;
double ans=99999999,x[17],y[17];
bool v[17][17];
void dfs(int cnt,double sum,int ge){
	if(ge==n){
		if(sum<ans) ans=sum;
		return;
	}
	int s=sum;
	for(int i=1;i<=n;i++){
		if(!v[i][i]){
			sum=s+sqrt((x[cnt]-x[i])*(x[cnt]-x[i])+(y[cnt]-y[i])*(y[cnt]-y[i]));
			v[i][i]=1;
			dfs(i,sum,++ge);
			ge--;
			v[i][i]=0;
		}
	}
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%lf %lf",&x[i],&y[i]);
	if(n==1){
		ans=sqrt(x[1]*x[1]+y[1]*y[1]);
		printf("%.2lf",ans);
		return 0;
	}
	dfs(0,0,0);
	printf("%.2lf",ans);
	return 0;
}
求求大佬们救救孩子吧!!