P1433 本地 AC 提交 WA 求助
  • 板块P1433 吃奶酪
  • 楼主JuRuoOIer
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/11/26 11:43
  • 上次更新2023/11/26 14:04:09
查看原帖
P1433 本地 AC 提交 WA 求助
476093
JuRuoOIer楼主2023/11/26 11:43
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cmath>
#include<vector>
#include<map>
#include<set>
#include<cstring>
#include<string>
#define ll long long
#define ull unsigned long long
#define lf double
#define ld long double
using namespace std;
ll n;
lf x[20],y[20],dp[20][(1<<15)+10],ans=0x3f3f3f3f3f3f3f3f;
//dp[s] 为在 s 状态下的最优解 
lf getdis(lf a,lf b,lf c,lf d){
	return sqrt((c-a)*(c-a)+(d-b)*(d-b));
}
int main(){
	memset(dp,0x3f,sizeof(dp));
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>x[i]>>y[i];
		dp[i][(1<<i)]=getdis(0,0,x[i],y[i]);
	}
	for(int s=1;s<(1<<n);s++){
		for(int i=0;i<n;i++){
			if(!(s&(1<<i)))continue;
			for(int j=0;j<n;j++){
				if(i==j||(!(s&(1<<j))))continue;
				dp[i][s]=min(dp[i][s],dp[j][s-(1<<i)]+getdis(x[i],y[i],x[j],y[j]));
			}
		}
	}
	for(int i=0;i<n;i++){
		ans=min(ans,dp[i][(1<<n)-1]);
	}
	printf("%.2lf",ans);
	return 0;
}

提交上去后只有 #2 AC,但本地测 #3 和 #10 的数据都是对的,上了洛谷就输出 0.00。为什么?

2023/11/26 11:43
加载中...