菜鸟不会状压
  • 板块P1433 吃奶酪
  • 楼主jzlb_yby
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/8/31 09:31
  • 上次更新2024/8/31 12:51:11
查看原帖
菜鸟不会状压
936673
jzlb_yby楼主2024/8/31 09:31
#include <bits/stdc++.h>
using namespace std;
int n,vis[2000];
double ans=999999.0;
struct node{
	double x,y;
}N[20];
double jl(double x1,double y1,double x2,double y2){
	return sqrt(pow(x1-x2,2)+pow(y1-y2,2));
}
void dfs(int l,int cnt,double sum){
	if(sum>ans)return ;
	if(sum!=0&&cnt==n) ans=min(ans,sum);
	for(int i=1;i<=n;i++){
		if(!vis[i]){
			vis[i]=1;
			dfs(i,cnt+1,sum+jl(N[l].x,N[l].y,N[i].x,N[i].y));
			vis[i]=0;
		}
	}
	return ;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>N[i].x>>N[i].y;
	}
	dfs(0,0,0);
	if(ans!=999999.0)cout<<fixed<<setprecision(2)<<ans;
	else cout<<"0.00";
	return 0;
}

求助,状压咋写

2024/8/31 09:31
加载中...