dalao看下我有什么问题
  • 板块P1433 吃奶酪
  • 楼主lucky2008
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/8/9 11:31
  • 上次更新2023/11/4 11:26:58
查看原帖
dalao看下我有什么问题
244578
lucky2008楼主2021/8/9 11:31
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<iomanip>
using namespace std;
double x[105],y[105],minn=1e50;int n;bool used[105];
double dis(int i,int j)
{
	return sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
}
void dfs(double s,int num,int m)
{	
	if(m>n)
	{
		if(minn>=s) minn=s;
		return;
	}
	if(s>minn) return;
	for(int i=1;i<=n;i++)
	{
		if(used[i]==true) continue;
		used[i]=true;
		dfs(s+dis(num,i),i,m+1);
		used[i]=false;
	}
	return;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++) cin>>x[i]>>y[i];
	for(int i=1;i<=n;i++)
	{
		used[i]=true;
		dfs(dis(i,0),i,1);
		used[i]=false;
	}
	cout<<setprecision(2)<<fixed<<minn;
}
2021/8/9 11:31
加载中...