DFS没学好的卑微
  • 板块P1433 吃奶酪
  • 楼主flipped1yu
  • 当前回复13
  • 已保存回复13
  • 发布时间2020/8/12 22:02
  • 上次更新2023/11/6 20:29:12
查看原帖
DFS没学好的卑微
197247
flipped1yu楼主2020/8/12 22:02

我用的是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;
}

求求大佬们救救孩子吧!!

2020/8/12 22:02
加载中...