100分求调
  • 板块P1433 吃奶酪
  • 楼主scc36
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/4/24 20:55
  • 上次更新2024/4/25 11:14:53
查看原帖
100分求调
914923
scc36楼主2024/4/24 20:55
#include <bits/stdc++.h>
using namespace std;
double mi=2e9,x[10001],y[100001],f[10001],sss;
double ff[1001][1001];
int n,i,j;
void sc(int xx,int yy,double jl){
	int i,s=0;
	double w;
    sss++;
    if(sss>=15000000){
		printf("%.2f",mi);
		exit(0);
    }
    if(xx>n){
    	mi=min(mi,jl);
    	return ;
	}
	
	for(i=1;i<=n;i++)
		if(f[i]==0){
			if(jl+ff[yy][i]>=mi) continue;
			f[i]=1;
			sc(xx+1,i,jl+ff[yy][i]);
			f[i]=0;
		}
	return ;
}
int main(){
//	ios::sync_with_stdio(0);
//	cin.tie(0);cout.tie(0);
	cin>>n;
	for(i=1;i<=n;i++) cin>>x[i]>>y[i];
	for(i=0;i<=n;i++)
		for(j=0;j<=n;j++)
			ff[i][j]=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
	sc(1,0,0);
	printf("%.2f",mi);
}

HackHack 数据错了两个点(WA)
…………
哪位大佬来看看~~

2024/4/24 20:55
加载中...