LightOJ 1317 第六周赛事A题

www.MyException.Cn  网友分享于：2015-08-24  浏览：0次
LightOJ 1317 第六周比赛A题
A - A
Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu

Description

You probably have played the game "Throwing Balls into the Basket". It is a simple game. You have to throw a ball into a basket from a certain distance. One day we (the AIUB ACMMER) were playing the game. But it was slightly different from the main game. In our game we were Npeople trying to throw balls into identical Baskets. At each turn we all were selecting a basket and trying to throw a ball into it. After the game we saw exactly S balls were successful. Now you will be given the value of and M. For each player probability of throwing a ball into any basket successfully is P. Assume that there are infinitely many balls and the probability of choosing a basket by any player is 1/M. If multiple people choose a common basket and throw their ball, you can assume that their balls will not conflict, and the probability remains same for getting inside a basket. You have to find the expected number of balls entered into the baskets after turns.

Input

Input starts with an integer T (≤ 100), denoting the number of test cases.

Each case starts with a line containing three integers N (1 ≤ N ≤ 16), M (1 ≤ M ≤ 100) and K (0 ≤ K ≤ 100) and a real number P (0  P ≤ 1)Pcontains at most three places after the decimal point.

Output

For each case, print the case number and the expected number of balls. Errors less than 10-6 will be ignored.

Sample Input

2

1 1 1 0.5

1 1 2 0.5

Sample Output

Case 1: 0.5

Case 2: 1.000000

其实就是求期望值，为什么呢？因为输出的的答案都是小数，所以肯定不是投进去的球数

```#include<iostream>
#include<cstdio>
using namespace std;

int main()
{
int t,n,m,k,ca=1;
double p;
cin>>t;
while(t--)
{
cin>>n>>m>>k>>p;
printf("Case %d: %.6lf\n",ca++, k*n*p);
}
}```