枚举,预处理,条件概率(条件概率,uva 11181)
2016-09-28 21:04
411 查看
#include<bits/stdc++.h> using namespace std; int N,r; int kase; double sum[25]; double p[25]; bool st[25]; double tot; void dfs(int n,int r) { if(n==0) { if(r!=0) return; double ans=1; for(int i=0;i<N;i++) if(st[i]) ans*=p[i]; else ans*=(1-p[i]); tot+=ans; for(int i=0;i<N;i++) if(st[i]) sum[i]+=ans; return; } st[n-1]=0; dfs(n-1,r); if(r>0) { st[n-1]=1; dfs(n-1,r-1); } } int main() { while(~scanf("%d %d",&N,&r)&&(N+r)) { for(int i=0;i<25;i++) sum[i]=0; tot=0; for(int i=0;i<N;i++) scanf("%lf",&p[i]); dfs(N,r); printf("Case %d:\n",++kase); for(int i=0;i<N;i++) printf("%.6lf\n",sum[i]/tot); } return 0; }
相关文章推荐
- UVA - 11181 Probability|Given(条件概率+dfs枚举组合)
- UVa 11181 - Probability|Given (条件概率)
- UVA - 11181 Probability|Given (dfs处理条件概率)
- 【UVA】11181 - Probability|Given(条件概率)
- uva11181(条件概率)
- UVA - 11181 Probability|Given 概率 + 递归枚举子集
- uva 11181 Probability|Given 条件概率
- UVa 11181 (条件概率) Probability|Given
- uva 11181(条件概率)
- 【UVA 11181】(条件概率)
- UVa 11181 条件概率
- 集训第六周 数学概念与方法 UVA 11181 条件概率
- Uva - 11181 Probability|Given (条件概率)
- UVA 11181(C) ——Probability|Given (条件概率, dfs求组合)
- B - Shuffle UVA - 12174 预处理+枚举
- uva 11181 概率与排列
- uva 11181 - Probability|Given(概率)
- UVA 11181 - Probability|Given (概率DFS)
- uva 11181 - Probability|Given(概率)
- UVA-11181 Probability|Given(概率)