TLE了一个点
  • 板块P1433 吃奶酪
  • 楼主lizi0725
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/9/14 11:51
  • 上次更新2023/11/4 06:50:09
查看原帖
TLE了一个点
481827
lizi0725楼主2021/9/14 11:51

大佬们帮帮忙吧QAQ

#include<bits/stdc++.h>
#define R register
using namespace std;
int n,f[20];
double x[20],y[20],sum,ans;
bool v[20];
inline void find(int k){
	if(k>n){
		if(ans<0||sum<ans){
			ans=sum;
		}
		return;
	}
	for(R int i=1;i<=n;i++){
		if(!v[i]){
			f[k]=i;
			double dx,dy;
			dx=x[f[k]]-x[f[k-1]];
			dy=y[f[k]]-y[f[k-1]];
			sum+=sqrt(dx*dx+dy*dy);
			if(ans<0||sum<ans){
				v[i]=1;
				find(k+1);
				v[i]=0;
			}
			sum-=sqrt(dx*dx+dy*dy);
		}
	}
}

int main(){
	sum=0,ans=-1;
	ios::sync_with_stdio(0);
	cin>>n;
	for(R int i=1;i<=n;i++){
		cin>>x[i]>>y[i];
	}
	f[0]=0;
	find(1);
	printf("%.2lf",ans);
	return 0;
}
2021/9/14 11:51
加载中...