码迷,mamicode.com
首页 > 其他好文 > 详细

HDU5194 DZY Loves Balls【排列组合】

时间:2015-04-24 21:10:31      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

题目链接:

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

 

题目大意:

袋子里有N个黑球、M个白球。用1表示取出来的是黑球,0表示取出来的是白球。不放回

的从袋子里取出这N+M个球。求相邻取出的两个球第一个球白球,第二个球是黑球的期望

次数是多少,即出现"01"的期望次数是多少。

 

思路:

考虑期望可加。第i(1<=i<=N+M)个位置上出现白球的概率为M/(M+N),则i+1个位置上

出现黑球的概率为N/(M+N-1)。因为白球只能在1~M+N-1个位置上出现(后边还有黑球)。

所以出现"01"的次数为(M+n-1)次。则总的期望 = M/(M+N) * N/(M+N-1) * (M+N-1),

即M*N/(M+N)。最后求M*N和M+N的最大公约数,将分子分母约分后输出就可以了。

 

AC代码:

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;

int GCD(int a,int b)
{
    if(a < b)
        int temp = a, a = b, b = temp;
    if(b == 0)
        return a;
    return GCD(b,a%b);
}

int main()
{

    int a,b;
    while(cin >> a >> b)
    {
        int fz = a*b;
        int fm = a+b;
        printf("%d/%d\n",fz/GCD(fz,fm),fm/GCD(fz,fm));
    }

    return 0;
}


 

HDU5194 DZY Loves Balls【排列组合】

标签:

原文地址:http://blog.csdn.net/lianai911/article/details/45250875

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!