DZY Loves Balls
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 851 Accepted Submission(s): 462
Problem Description
There are
n
black balls and
m
white balls in the big box.
Now, DZY starts to randomly pick out the balls one by one. It forms a sequence S . If at the i -th operation, DZY takes out the black ball, Si=1 , otherwise Si=0 .
DZY wants to know the expected times that '01' occurs in S .
Now, DZY starts to randomly pick out the balls one by one. It forms a sequence S . If at the i -th operation, DZY takes out the black ball, Si=1 , otherwise Si=0 .
DZY wants to know the expected times that '01' occurs in S .
Input
The input consists several test cases. (
TestCase≤150
)
The first line contains two integers, n , m(1≤n,m≤12)
The first line contains two integers, n , m(1≤n,m≤12)
Output
For each case, output the corresponding result, the format is
p/q
(
p
and
q
are coprime)
Sample Input
1 1 2 3
Sample Output
1/2 6/5HintCase 1: S='01' or S='10', so the expected times = 1/2 = 1/2 Case 2: S='00011' or S='00101' or S='00110' or S='01001' or S='01010' or S='01100' or S='10001' or S='10010' or S='10100' or S='11000', so the expected times = (1+2+1+2+2+1+1+1+1+0)/10 = 12/10 = 6/5
Source
Recommend
题意:袋子里有N个黑球、M个白球。用1表示取出来的是黑球,0表示取出来的是白球。不放回
的从袋子里取出这N+M个球。求相邻取出的两个球第一个球白球,第二个球是黑球的期望
次数是多少,即出现"01"的期望次数是多少。
思路:第i个位置放白球的概率m/(m+n),第i+1个位置放黑球的概率n/(m+n-1),白球能出现的位置是m+n-1,所以01的期望次数是m/(m+n)*n/(m+n-1)*(m+n-1),即(m*n)/(m+n)最后要将分子分母约分输出。
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int GCD(int a,int b)
{
int t;
if(a<b)
{
t=a;
a=b;
b=t;
}
if(b==0)
return a;
return GCD(b,a%b);
}
using namespace std;
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
int m=a*b;
int n=a+b;
printf("%d/%d\n",m/GCD(m,n),n/GCD(m,n));
}
return 0;
}