zoukankan      html  css  js  c++  java
  • hdu4405Aeroplane chess 概率dp水题

    //从0到n有n+1个格子
    //对于格子i,掷一次骰子的数为x。那么能够从位置i到位置i+x
    //格子之间有连线,假设格子a和b有连线,那么从a到b不用掷骰子
    //求从0到n的骰子掷的次数的期望
    //dp[i] = 1/6*segma(dp[k]) + 1 (i<=k<=i+6)
    #include<cstdio>
    #include<iostream>
    #include<cstring>
    using namespace std ;
    const int maxn = 100000 ;
    double dp[maxn] ;
    int line[maxn] ;
    int main()
    {
        int n , m ;
        while(scanf("%d%d" , &n  ,&m) && n+m)
        {
            memset(line , -1 , sizeof(line)) ;
            memset(dp , 0 ,sizeof(dp)) ;
            int a , b ;
            for(int i = 1;i <= m ;i++)
            {
                scanf("%d%d" ,&a , &b) ;
                line[a] = b ;
            }
            for(int i = n-1 ;i >= 0 ;i--)
            {
                if(line[i] != -1){dp[i] = dp[line[i]] ;continue;}
                for(int k = i + 1;k <= i+6 ;k++)
                dp[i] += ((double)1/(double)6)*dp[k];
                dp[i] += 1 ;
            }
            printf("%.4lf " , dp[0]) ;
        }
        return 0 ;
    }

  • 相关阅读:
    嵌套矩形
    Multiplication Puzzle
    animate.css在vue项目中的使用
    服务器相关知识
    webpack-cli安装和插件的安装
    新买阿里云linux服务器如何设置账号密码xshell远程登陆
    主流请求库axios库的使用
    什么是回调函数
    js------match() 方法
    cookie
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/6786263.html
Copyright © 2011-2022 走看看