欢迎使用CSDN-markdown编辑器
来源:互联网 发布:veket linux.iso 编辑:程序博客网 时间:2024/06/08 10:36
(dp)帕秋莉大人的户外运动计划
-
题目
帕秋莉大人总是足不出户呢,这样怎么能行呢?于是咲夜找到帕秋莉大人,希望她能每天外出锻炼一段时间。当然,帕秋莉大人断然拒绝了。在咲夜的再三劝说下,帕秋莉大人答应了接下来接近一个月时间的训练计划,但是——帕秋莉大人怎么可能认真执行呢?帕秋莉大人每天会扔nn次色子,只有当扔出了至少mm次连续的大于33的数时,她才会真正执行训练计划。那么,现在告诉你每天帕秋莉大人扔色子的次数nn,和最少连续的大于33数的次数mm,你能算出帕秋莉大人每天外出运动的概率么? 注意:色子的点数是1∼61∼6,假设每次扔色子出现每种点数的概率都是相等的。
- Input
读入的第一行是帕秋莉大人的训练计划持续天数TT。接下来TT行每一行都是某一天帕秋莉大人扔色子的次数nn,和最少连续的大于33数的次数mm。(1≤m≤n≤101≤m≤n≤10 并且 m≤6m≤6) - Output
输出T行,每行输出帕秋莉大人当天外出运动的概率,四舍五入到两位小数。 - Sample Input
3
2 1
3 2
10 4 - Sample Output
0.75
0.38
0.25
代码实现
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>int main(){ double r[2001]; int n,m,T; scanf("%d", &T); while(T--) { scanf("%d%d", &n, &m); int i; for(i = 0; i < m; i++) r[i] = 0; r[m] = pow(0.5, m); for(i = m + 1; i <= n; i++) r[i] = r[i-1] + (1 - r[i-m-1]) * pow(0.5, m+1); printf("%.2lf\n", r[n]); } return 0;}
- 投完第i个硬币时,已有连续m个正面的情况分为两种:
1.投第i个之前已经有连续m个正面,概率为r[i-1]。
2.投完第i个时恰好有连续m个正面,这连续m个正面的前面一次是反面,
这m+1次确定情况的概率是1/2的m+1次方;
这m+1次以前没有连续m个正面的概率为1-r[i-(m+1)]。
所以投完第i个时恰好有连续m个正面的概率为(1-r[i-m-1])*pow(0.5,m+1)。
阅读全文
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- int* p = new int[5](); 与 int* q = new int[5]; 的区别
- 数据采集实践(二)
- MySQL 语句级避免重复插入—— Insert Select Not Exist
- JAVA static加载顺序
- hibernate集合映射学习笔记
- 欢迎使用CSDN-markdown编辑器
- TCC事务机制简介
- Android 一个改善的okHttp封装库
- logcat没有输出
- 快速排序 算法
- leetcode-389. Find the Difference
- Glide-图片变换(五)
- Python生成PDF文件(1)
- Android websoket协议的框架