比赛 2024暑假C班集训D 评测结果 ATTTTTTTTT
题目名称 亚瑟王 最终得分 10
用户昵称 AeeE5x 运行时间 26.987 s
代码语言 C++ 内存使用 3.32 MiB
提交时间 2024-07-13 11:13:47
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
struct nod{
	double p;
	int dm;
}lis[230];
double ans=0;
int n,r;

bool ed[230];
void f(int x,int q=1,double p=1.0,int d=0){
	if(x==n+1) x=1,q++;
	if(q==r+1){
		ans+=p*d;
		return;
	}
	
	if(ed[x]) f(x+1,q,p,d);
	else{
		ed[x]=1;
		f(1,q+1,p*lis[x].p,d+lis[x].dm);
		ed[x]=0;
		f(x+1,q,p*(1-lis[x].p),d);
	}
	
}
int main(){
	freopen("arthur.in","r",stdin);
	freopen("arthur.out","w",stdout);
	
	int t;scanf("%d",&t);
	while(t--){
		scanf("%d%d",&n,&r);
		for(int i=1;i<=n;i++) scanf("%lf%d",&lis[i].p,&lis[i].dm);
		f(1);
		printf("%.10lf\n",ans);ans=0;
	}
	
	return 0;
}