zoukankan      html  css  js  c++  java
  • hdu4649Professor Tian

    http://acm.hdu.edu.cn/showproblem.php?pid=4649

    枚举当前状态是0或者是1的概率 其实就枚举1的概率 最后概率乘这个数

    位运算用得不熟  老出错

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<stdlib.h>
     5 #include<algorithm>
     6 using namespace std;
     7 int a[210];
     8 char c[210];
     9 double p[210],dp[210];
    10 int main()
    11 {
    12     int i,j,n,kk=0;
    13     while(scanf("%d",&n)!=EOF)
    14     {
    15         kk++;
    16         for(i = 0; i <= n ; i++)
    17         scanf("%d",&a[i]);
    18         for(i = 1; i <= n ; i++)
    19         cin>>c[i];
    20         for(i = 1; i <= n ; i++)
    21         scanf("%lf",&p[i]);
    22         double ans=0;
    23         for(i = 0; i <= 20 ; i++)
    24         {
    25             memset(dp,0,sizeof(dp));
    26             if((a[0]&(1<<i))!=0)
    27             dp[0] = 1;
    28             for(j = 1; j <= n ;j++)
    29             {
    30                 dp[j] += p[j]*dp[j-1];
    31                 if(c[j]=='^')
    32                 {
    33                     if((a[j]&(1<<i))!=0)
    34                     dp[j]+=(1-dp[j-1])*(1-p[j]);
    35                     else
    36                     dp[j]+=dp[j-1]*(1-p[j]);
    37                 }
    38                 if(c[j]=='&')
    39                 {
    40                     if((a[j]&(1<<i))!=0)
    41                     dp[j]+=dp[j-1]*(1-p[j]);
    42                 }
    43                 if(c[j]=='|')
    44                 {
    45                     if((a[j]&(1<<i))!=0)
    46                     dp[j]+=(1-p[j]);
    47                     else
    48                     dp[j]+=dp[j-1]*(1-p[j]);
    49                 }
    50             }
    51             ans+=(1<<i)*dp[n];
    52         }
    53         printf("Case %d:
    %.6f
    ",kk,ans);
    54     }
    55     return 0;
    56 }
    View Code
  • 相关阅读:
    AutoLISP引线序号球
    2011年4月1日星期五
    AutoLISP绘制表格
    AutoLISP绘制玻璃门
    AutoLISPDCL对话框设计
    AutoLISP虚拟线变化图
    AutoLISP切圆动画
    盖章
    AutoLISP第一个DCL窗体
    jquery cookie插件使用
  • 原文地址:https://www.cnblogs.com/shangyu/p/3265164.html
Copyright © 2011-2022 走看看