hdu 5159確率

758 ワード

各カードが出現する確率は同じであるため、b回このカードが出現する確率を1-pow(x-1/x,b)とし、相補性を利用して、このカードが出現しない確率を探し出し、さらにその出現確率を算出し、接頭辞と確率を乗じて得ることが望ましい
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <cmath>
#define MAX 100007

using namespace std;

long long sum[MAX];

int main  ( )
{
    sum[0] = 0;
    for ( int i = 1 ; i <= 100000 ; i++ )
        sum[i] = sum[i-1] + i;
    int t,x,b;
    int c = 1;
    scanf ( "%d" , &t );
    while ( t-- )
    {
        scanf ( "%d%d" , &x , &b );
        double p = 1.0 - pow ( (x-1)*1.0/(x*1.0) , b*1.0 ); 
        printf ( "Case #%d: " , c++ );
        printf ( "%.3f
" , sum[x]*1.0*p ); } }