uva1636 - Headshot(条件概率)

简单的条件概率题,直接再来一枪没子弹的概率是所有子串”00“的数目除以‘0’的数目,随机转一下再打没子弹的概率是‘0’的数目除以总数目。

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<cmath>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
#include<stack>
#include<queue>
#include<cctype>
#include<sstream>
using namespace std;
#define pii pair<int,int>
#define LL long long int
const int eps=1e-8;
const int INF=1000000000;
const int maxn=100000+10;
string s;
int a,b,n;
int main()
{
    //freopen("in8.txt","r",stdin);
    while(cin>>s)
    {
        a=b=0;
        n=s.length();
        for(int i=0;i<n;i++)
        {
            if(s[i]==‘0‘)//这里注意‘0’不能写成0
            {
                b++;
                if((i<n-1&&s[i+1]==‘0‘)||(i==n-1&&s[0]==‘0‘))//注意它是环形的!
                {
                   a++;
                }
            }
        }
        if(a*n>b*b) puts("SHOOT");
        else if(a*n<b*b) puts("ROTATE");
        else puts("EQUAL");
    }
    //fclose(stdin);
    //fclose(stdout);
    return 0;
}
时间: 2024-10-10 22:09:03

uva1636 - Headshot(条件概率)的相关文章

UVa1636 - Headshot(离散概率)

直接扣一枪没子弹的概率是一个条件概率,等于子串00的个数除以00和01总数(也就是0的个数),转一下再扣没子弹的概率等于0的比率. 设子串00的个数为a,0的个数为b,则两个概率分别为a/b和b/n,问题就是比较a*n和b*b. #include<cstdio> #include<cstring> const int maxn=105; char s[105]; int cnt0,cnt1,cnt2,cnt3; int main() { while(scanf("%s&q

uva 1636 - Headshot(简单概率问题)

直接扣一枪没有子弹 是条件概率 转一下再扣一枪 是简单事件发生的概率 前者用00的个数除以00和01子串的总数 后者用0的个数除以所有数字的个数 然后换算一下运算方式比较即可 #include<cstdio> #include<cstring> const int maxn = 105; char s[105]; int cnt0,cnt1,cnt2,cnt3; int main() { while(scanf("%s",s+1)!=EOF) { cnt0=0;

POJ 3869 Headshot

Headshot Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on PKU. Original ID: 386964-bit integer IO format: %lld      Java class name: Main You have a revolver gun with a cylinder that has n chambers. Chambers are located in a ci

一个游戏中的条件概率问题

假设你在进行一个游戏节目.现给三扇门供你选择:其中一扇门后面是一个大奖(比如奥迪R8),另两扇门后面神马都没有.你不是托,所以你的目的当然是拿大奖,但是你显然不知道门后面是啥东东.主持人(虽然ta知道门后面都是啥,但ta就是不告诉你)先让你做第一次选择.在你选择了一扇门后,主持人并没有立刻打开这扇门,而是打开了另外一扇木有奖的门给你看.现在,主持人告诉你,你有一次重新选择的机会.那么,请你思考一下,你是坚持第一次的选择不变,还是改变第一次的选择?哪种做法更有可能中大奖? 这个问题貌似很简单:主持

先验概率、后验概率、条件概率

今天看了 Larry Wasserman写的 All of Statistics中的第一章,第一章主要讲概率,其中最主要的就是贝叶斯公式.要了解贝叶斯公式,就得知道全概率公式: 通俗的讲,先验概率就是事情尚未发生前,我们对该事发生概率的估计,例如全概率公式中P(B)就是先验概率,求解方法有很多种,全概率公式是一种,也可以根据经验等,例如抛一枚硬币头向上的概率为0.5. 后验概率则是表示在事情已经发生的条件下,要求该事发生原因是有某个因素引起的可能性的大小. 先验概率是在缺乏某个事实的情况下描述一

POJ 3716 Panda&#39;s Birthday Present 条件概率

看了http://hi.baidu.com/bfcdygoporbjuxr/item/569897ddc1fc561d21e2503f 这个题解 感觉写的有点费劲 , 而且虽然写了一点关于公式(m+n+10)/7的,但我感觉还是不好理解啊. 不过其中讲的主要思路还是有用的. 对于一个骰子 有t个面为1的概率是 P(T=t)=C(6,t)/64. 在有t个面为1的情况下,投n次,有k个1,假设这k个1的位置已经固定了,则概率为 t ^ k * (6 - t) ^ (n - k) / 6 ^ n 则

UVa 11181 条件概率

https://vjudge.net/problem/UVA-11181 题意: 有n个人准备去超市逛,其中第i个人买东西的概率是pi.逛完以后你得知有r个人买了东西.根据这一信息,请计算每个人实际买了东西的概率. 思路: "r个人买了东西"这个事件叫E,"第i个人买东西"这个事件为Ei,则要求的是条件概率 P(E)的话我们可以用全概率公式计算出来,把每一种情况都枚举出来,比如1100出现的概率就是,之后再计算一个P(Ei | E)即可. 1 #include<

条件概率经典题

条件概率的精髓从这道题可以体现: 一个部件经销商从仓库购买部件.这些部件要么由A供应商生产,要么由B供应商生产,但部件上没有标识出是哪家供应商供应的.每次发货或每一批的所有零件都是由一个供应商生产的.平均来看,A供应商生产的产品中有2.5%的不合格品,B供应商生产的产品中有5.0%的不合格品. 仓库声称70%的部件是A供应商生产的,30%的部件是B供应商生产的.如果经销商随机地从一批产品中抽取4个部件并发现有一个部件是不合格品,问:这批产品是A供应商生产的概率是多少? 问题:对于给定的批,随机抽

UVa 1636 (概率) Headshot

既然是第一道概率题,就正儿八经地分析一下吧. 题意: 有一个左轮枪,里面随机装了或者没装子弹,用一个01序列表示.现在已知扣动第一次扳机没有子弹,问是继续扣动扳机还是随机转动一下再扣,那种选择使得第二次扣扳机没有子弹的概率大. 分析: 这是一个条件概率,已知第一次扣动扳机没有子弹. 设序列长度为n,00序列的个数为a,0的个数为b 那么第二次扣的时候如果也没有子弹,就对应所给序列的连续两个0,样本空间为b,所以概率为a/b 如果随机转动一次的话,第一次扣和第二次就完全是独立的了,所以概率为b/n