Game
Alice 和 Bob 玩起了掷骰子的游戏,为了增加趣味性,他们制定了一套新的判断规则。
两人同时掷 n 个骰子,每个骰子会等概率掷出 1…6 这六种点数中的一种,总点数大的人获胜,总点数一样就继续掷,重复如此直到游戏结束。
为了避免偶然性,每次游戏他们会玩 k 局,Alice 想知道她赢的局的期望。
输入
输入第一行有一个正整数 TT,代表游戏的次数。 第二行到第T+1T+1T+1 行每行有两个正整数 n,kn,kn,k 分别代表本次游戏每一局掷骰子的数量和局数。
1≤T≤100,0001≤T≤100,0001 \leq T \leq 100,0001≤T≤100,0001≤T≤100,0001≤T≤100,000
1≤n,k≤1,000,000,0001≤n,k≤1,000,000,0001 \leq n, k \leq 1,000,000,0001≤n,k≤1,000,000,0001≤n,k≤1,000,000,0001≤n,k≤1,000,000,000
输出
输出有 TT 行,每一行一个数代表 AliceAliceAlice 赢得局数的期望,结果保留两位小数。
题解
服了,自己傻傻的算了半天赢一局的概率,死活算不出来,才想起输赢的概率不就是0.5吗,不是输就是赢,期望就是二项分布的期望E(x)=kpE(x)=kpE(x)=kp,主要是第一次交的代码忘记乘k了,怀疑自己的瞎猜有点问题,0.0
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
// please write your code here
int t;
cin>>t;
while(t--){
int a,b;
cin>>a>>b;
printf("%.2f\n",0.5*b);
}
return 0;
}