zoukankan      html  css  js  c++  java
  • 【spoj1026】Favorite Dice

    题目描述

    甩一个n面的骰子,问每一面都被甩到的次数期望是多少。

    输入

    第一行一个整数T,表示数据组数。

    接下来T行,每行一个数n。(n≤1000)

    输出

    T行,每行一个数表示期望次数。保留两位小数。

    样例输入

    2
    1
    12

    样例输出

    1.00
    37.24


    题解

    期望dp水题。

    #include<cmath>
    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    #define ll long long
    
    const int maxn=1000+5;
    
    int T,n;
    double dp[maxn];
    
    template<typename T>void read(T& aa){
        char cc; ll ff;aa=0;cc=getchar();ff=1;
        while((cc<'0'||cc>'9')&&cc!='-') cc=getchar();
        if(cc=='-') ff=-1,cc=getchar();
        while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();
        aa*=ff;
    }
    
    int main(){
        read(T);
        while(T--){
            memset(dp,0,sizeof(dp));
            read(n);
            for(int i=n-1;i>=0;i--) dp[i]=(dp[i+1]*(n-i)+n)/(n-i);
            printf("%.2lf
    ",dp[0]);
        }
        return 0;
    }
  • 相关阅读:
    表值函数,标量值函数
    考勤率
    精确小数点
    SQL 返回刚插入的值
    xml读取
    备份表
    case,cast
    DDR基础知识
    NXP官方的I.MX6UL板级Uboot源码适配
    高通msm8909打开debug串口
  • 原文地址:https://www.cnblogs.com/rlddd/p/9477903.html
Copyright © 2011-2022 走看看