emmm水题)...
#include <bits/stdc++.h> using namespace std; const int N=13; struct ANS{ double a,b,c; }f[N]; int n=12; double ans[N]; void dfs(int u,int num,double res)//做了几个,做对几个,的概率. { if(u==13) {ans[num]+=res;return;} dfs(u+1,num+1,res*(1-(1-f[u].a)*(1-f[u].b)*(1-f[u].c))); dfs(u+1,num,res*(1-f[u].a)*(1-f[u].b)*(1-f[u].c)); } int main() { for(int i=1;i<=n;i++) scanf("%lf",&f[i].a); for(int i=1;i<=n;i++) scanf("%lf",&f[i].b); for(int i=1;i<=n;i++) scanf("%lf",&f[i].c); dfs(1,0,1);for(int i=0;i<=12;i++) printf("%.6f\n",ans[i]); return 0; }