1 条题解
-
0
水
#include<iostream> #include<iomanip> int n,cnt[1<<20]; double qwq[1<<20],ans; using namespace std; int main(){ cin>>n; n=1<<n; for(int i=0;i<n;i++){ cin>>qwq[i],cnt[i]=cnt[i>>1]+(i&1); } for(int i=1;i<n;i<<=1){ int awa=i<<1; for(int j=0;j<n;j+=awa) for(int k=0;k<i;k++) qwq[i+j+k]+=qwq[j+k]; } for(int i=1;i<n;i++) if(1-qwq[(n-1)^i]>1e-10){ int d; if(cnt[i]&1) d=1; else d=-1; ans+=d/(1-qwq[(n-1)^i]); } if(ans<1e-10) cout<<"INF"; else cout<<fixed<<setprecision(10)<<ans<<endl; return 0; }
- 1
信息
- ID
- 193
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者