• UVa 1636 (概率) Headshot


    既然是第一道概率题,就正儿八经地分析一下吧。

    题意:

    有一个左轮枪,里面随机装了或者没装子弹,用一个01序列表示。现在已知扣动第一次扳机没有子弹,问是继续扣动扳机还是随机转动一下再扣,那种选择使得第二次扣扳机没有子弹的概率大。

    分析:

    这是一个条件概率,已知第一次扣动扳机没有子弹。

    设序列长度为n,00序列的个数为a,0的个数为b

    那么第二次扣的时候如果也没有子弹,就对应所给序列的连续两个0,样本空间为b,所以概率为a/b

    如果随机转动一次的话,第一次扣和第二次就完全是独立的了,所以概率为b/n

     1 #include <cstdio>
     2 #include <cstring>
     3 
     4 const int maxn = 100 + 10;
     5 char s[maxn];
     6 
     7 int main()
     8 {
     9     //freopen("in.txt", "r", stdin);
    10 
    11     while(scanf("%s", s) == 1)
    12     {
    13         int l = strlen(s);
    14         s[l] = s[0];
    15         int zero = 0, doublezero = 0;
    16         for(int i = 0; i < l; ++i)
    17         {
    18             if(s[i] == '0')
    19                 zero++;
    20             if(s[i] == '0' && s[i+1] == '0')
    21                 doublezero++;
    22         }
    23         int d = doublezero * l - zero * zero;
    24         if(d > 0)
    25             puts("SHOOT");
    26         else if(d < 0)
    27             puts("ROTATE");
    28         else
    29             puts("EQUAL");
    30     }
    31 
    32     return 0;
    33 }
    代码君
  • 相关阅读:
    让DIV实现抖动效果!
    Linux下如果python2和python3同时存在使用pip3
    Eclipse 查找一个接口的具体实现
    linux下编译安装软件到指定目录
    NG机器学习-octave基本操作
    NG机器学习
    全注解方式构建SpringMVC项目
    Java多线程学习开发笔记
    RabbitMQ 学习开发笔记
    Redis 学习开发笔记
  • 原文地址:https://www.cnblogs.com/AOQNRMGYXLMV/p/4175745.html
Copyright © 2020-2023  润新知