zoukankan      html  css  js  c++  java
  • 牛客竞赛-比赛

    题目描述

    你在打比赛,这场比赛总共有12个题

    对于第i个题,你的队伍有a[i]的几率解决她

    如果解决不了她呢?

    由于所有人讨论的都很大声

    所以你有b[i]的概率从左边那个队那里听会这个题的做法

    有c[i]的概率从右边那个队那里听会这个题的做法

    请问最终你们队伍解出0-12题的概率分别是多少

    输入描述:

    第一行12个数表示a[1] -> a[12]
    第二行12个数表示b[1] -> b[12]
    第三行12个数表示c[1] -> c[12]

    输出描述:

    输出13行,第i行表示解出i-1题的概率
    保留6位小数

    #include<cmath>
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    #define db double
    const int N=205,mod=999983;
    int n=12;db a[N],b[N],c[N],d[N];
    inline db dfs(int now,int num){
    	db ans=1;
    	if(now==13&&num)return 0;
    	if(now==13)return ans;
    	if(num==0){
    		for(int i=now;i<=12;i++)ans*=1-d[i];
    		return ans;
    	}
    	return ans*(dfs(now+1,num-1)*d[now]+dfs(now+1,num)*(1-d[now]));
    }
    signed main(){
    	for(int i=1;i<=n;i++)cin>>a[i];
    	for(int i=1;i<=n;i++)cin>>b[i];
    	for(int i=1;i<=n;i++)cin>>c[i];
    	db ans=1;
    	for(int i=1;i<=n;i++)
    	d[i]=1-((1-a[i])*(1-b[i])*(1-c[i])),ans*=(1-d[i]);
    	printf("%.6f
    ",ans);
    	for(int i=1;i<=n;i++){
    		printf("%.6f
    ",dfs(1,i));
    	}
    }
    
  • 相关阅读:
    php上传文件大小修改
    flex布局
    restful
    mysql之windows忘记密码
    mysql常用命令
    比较级浅析1
    一般副词的位子
    still讲解
    英语学习法
    as的如下用法
  • 原文地址:https://www.cnblogs.com/naruto-mzx/p/11803522.html
Copyright © 2011-2022 走看看