ZOJ Problem Set - 3329 One Person Game
题目大意:有三个骰子,分别有k1,k2,k3个面。 每次掷骰子,如果三个面分别为a,b,c则分数置0,否则加上三个骰子的分数之和。 当分数大于n时结束。求游戏的期望步数。初始分数为0分析 设 E[i]表示现在分数为i,到结束游戏所要掷骰子的次数的期望值。 显然 E[>n] = 0; E[0]即为所求答案; E[i] = ∑Pk*E[i+k] + P0*E[0] + 1; (Pk表示点数和为k的概率,P0表示分数清零的概率) 由上式发现每个 E[i]都包含 E[0],而 E[0]又是我们要求的,是个定值。 设 E[i] = a[i]*E[0] + b[i]; 将其带入上面的式子: E[i] = ( ∑Pk*a[i+k] + P0 )*E[0] + ∑Pk*b[i+k] + 1;
显然, a[i] = ∑Pk*a[i+k] + P0; b[i] = ∑Pk*b[i+k] + 1; 当 i > n 时: E[i] = a[i]*E[0] + b[i] = 0; 所以 a[i>n] = b[i>n] = 0; 可依次算出 a[n],b[n]; a[n-1],b[n-1] ... a[0],b[0]; 则 E[0] = b[0]/(1 - a[0]);
1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 using namespace std; 5 int main() 6 { 7 int t,n,k1,k2,k3,a,b,c; 8 scanf("%d",&t); 9 while(t--) 10 { 11 scanf("%d %d %d %d %d %d %d",&n,&k1,&k2,&k3,&a,&b,&c); 12 int sum=k1+k2+k3; 13 double pp=1.0/(k1*k2*k3); 14 double p[10000]; 15 memset(p,0,sizeof(p)); 16 for(int i=1; i<=k1; i++) 17 { 18 for(int j=1; j<=k2; j++) 19 { 20 for(int k=1; k<=k3; k++) 21 if(i!=a||j!=b||k!=c) 22 p[i+j+k]+=pp; 23 } 24 25 } 26 double a[1000]= {0},b[1000]= {0}; 27 for(int i=n; i>=0; i--) 28 { 29 for(int k=3; k<=sum; k++) 30 { 31 a[i]+=a[i+k]*p[k]; 32 b[i]+=b[i+k]*p[k]; 33 } 34 a[i]+=pp; 35 b[i]+=1; 36 } 37 printf("%.15lf\n",b[0]/(1-a[0])); 38 } 39 return 0; 40 }
转载于:https://www.cnblogs.com/tsw123/p/4434882.html
ZOJ Problem Set - 3329 One Person Game相关推荐
- ZOJ Problem 1005 jugs
题目 In the movie "Die Hard 3", Bruce Willis and Samuel L. Jackson were confronted with the ...
- ZOJ Problem Set - 1331 Perfect Cubes
这个题啊,一看就是暴力,暴力,暴力!!! 但是,暴力也是要做到暴力的恰到好处:看题 For hundreds of years Fermat's Last Theorem, which stated ...
- ZOJ Problem Set - 1048 Financial Management
我承认这是一道水的不能再水的题,今天一下就做到了,还是无耻的帖上来吧 #include <stdio.h>int main() {double sum=0;for(int i=1;i< ...
- Argus(ZOJ Problem Set - 2212)(优先队列)
Argus 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte 总提交: 3 测试通过: 2 描述 A data stream ...
- ZOJ Problem Set - 1730 Crazy Tea Party
#include<cstdio> int main(){int T,n;scanf("%d",&T);while(T--){scanf("%d&quo ...
- ZOJ Problem Set - 1067 Color Me Less
这道题目很简单,考察的就是结构体数组的应用,直接贴代码了 #include <stdio.h> #include <math.h>typedef struct color {i ...
- ZOJ Problem Set - 1008
1.翻译及思路 http://blog.csdn.net/dapengbusi/article/details/7313785 http://acm.sdut.edu.cn/bbs/read.php? ...
- ZOJ Problem Set - 1009
1.参考 http://blog.csdn.net/xiaogugood/article/details/17922105 这篇博客对算法介绍的很详细,我看这道题的时候,将题目理解出错,所以进入了一个 ...
- ZOJ Problem Set - 4043 Virtual Singers(2018acm 青岛赛区热身赛)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5795 背景描述: 已经记不起来上一次做题是什么时候的事了...大概是 ...
最新文章
- 驱动学习之LED驱动框架
- mysql M/S配置小记
- 实验11 编写子程序
- transporter上传卡正在交付_【iOS】Xcode11使用Transporter将APP上传到App Store,卡在正在验证APP...
- windows--reg--删除注册表指定的键(也叫项)、指定的值
- Mybatis Generator 自动生成数据库XML(Mybatis Generator 逆向工程)
- android 速度传感器,Android实战技巧之四十二:加速度传感器
- 20191014:快速排序1.2
- 基于DEAP库的python进化算法--遗传算法实践--非线性函数寻优
- java clob内存溢出_java - 从JSON创建CLOB属性 - 堆栈内存溢出
- Jenkins插件安装
- 原生android系统换主题字体,Android 自定义字体,更换系统默认显示的字体使用自定义字体...
- php集成环境安装包比较,PHP集成环境phpStudy安装包分享
- beego 最新版本_LFA (Linux For All) Build 191111 发布,基于Ubuntu由最新内核支持的新版本...
- 微信小程序服务器端语言,微信小程序后端用什么语言好
- Hook技术看这篇就够了
- 2019最新Python学习路线(Python学习教程_Python学习视频):Python2和Python3你们都是怎么选的?
- 简易炸弹超人 题解(蓝桥杯中级组2023选拔赛)
- (大白话版)子网划分、进制换算
- vue.config.js中lintOnSave配置