博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu4405Aeroplane chess 概率dp水题
阅读量:6680 次
发布时间:2019-06-25

本文共 753 字,大约阅读时间需要 2 分钟。

//从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\n" , dp[0]) ;
    }
    return 0 ;
}

转载于:https://www.cnblogs.com/gavanwanggw/p/6786263.html

你可能感兴趣的文章
Python全栈开发-Day5-常用模块学习
查看>>
Mac OS下配置PHP Nginx PHP-FPM
查看>>
Linux基础:CentOS安装python3.7
查看>>
Daily Scrum: 2012/11/27
查看>>
vue学习中v-if和v-show一起使用的问题
查看>>
获取一个月前的当前时间
查看>>
第三期 预测——1.简介
查看>>
behavior planning——12.example cost funtion -lane change penalty
查看>>
基于 Spring + Atomikos + Mybatis的多数据源配置demo
查看>>
随笔-刚毕业找工作的点滴(程序员)
查看>>
利用poi3.8中SXSSFWorkbook实现大数据量导出excel
查看>>
day34-1 面向对象概述
查看>>
GCD之dispatch queue
查看>>
【Oracle】-初识PL/SQL
查看>>
黄聪:超实用的PHPExcel[导入][导出]实现方法总结
查看>>
模板变量,过滤器和静态文件引入
查看>>
Oracle 中的 Schema
查看>>
Web APi之认证(Authentication)两种实现方式后续【三】(十五)
查看>>
一条语句简单解决“每个Y的最新X”的SQL经典问题
查看>>
(转)链接服务器——获取EXCEL数据
查看>>