比赛 |
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;
}