九度OJ 1255:骰子点数概率 (递归、DP)
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:316
解决:29
- 题目描述:
-
把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
- 输入:
-
输入包括一个整数N(1<=N<=1000),代表有N个骰子。
- 输出:
-
可能有多组测试数据,对于每组数据,
按照Sample Output的格式输出每一个可能出现的和S的概率。
- 样例输入:
-
1 2
- 样例输出:
-
1: 0.167 2: 0.167 3: 0.167 4: 0.167 5: 0.167 6: 0.1672: 0.028 3: 0.056 4: 0.083 5: 0.111 6: 0.139 7: 0.167 8: 0.139 9: 0.111 10: 0.083 11: 0.056 12: 0.028
思路:
标准的动态规划题目,根据上一步状态推出下一步。
另外此题判题数据应该是错误的,比如别人能AC的程序输入4得到的结果是:
4: 0.002
5: 0.005
6: 0.009
7: 0.017
8: 0.028
9: 0.043
10: 0.062
11: 0.080
12: 0.096
13: 0.108
14: 0.113
15: 0.108
16: 0.096
17: 0.080
18: 0.062
19: 0.043
20: 0.027
21: 0.015
22: 0.008
23: 0.003
24: 0.001
4和24对应的概率不一样,这显然是是错误的。
下面分别给出能AC的代码和我的代码。
代码1(能AC的代码):
#include<stdio.h>#include<string.h>#include<math.h>int main(){int n,i,j,k;double a[2][6005],all;while(scanf("%d",&n)!=EOF){memset(a,0,sizeof(a));a[1][1]=1;a[1][2]=1;a[1][3]=1;a[1][4]=1;a[1][5]=1;a[1][6]=1;for(i=2;i<=n;i++){for(j=i*6;j>=i;j--){a[i%2][j]=0;if(j-1>0)a[i%2][j]+=a[(i+1)%2][j-1];if(j-2>0)a[i%2][j]+=a[(i+1)%2][j-2];if(j-3>0)a[i%2][j]+=a[(i+1)%2][j-3];if(j-4>0)a[i%2][j]+=a[(i+1)%2][j-4];if(j-5>0)a[i%2][j]+=a[(i+1)%2][j-5];if(j-6>0)a[i%2][j]+=a[(i+1)%2][j-6];}}all=pow(6.0,n);for(i=n;i<=n*6;i++)printf("%d: %.3lf\n",i,a[n%2][i]/all);printf("\n");}return 0;}
代码2(我的代码):
#include <stdio.h>#define N 1000int main(void)
{int n, i, j, k;double a[2][N*6];while (scanf("%d", &n) != EOF){a[0][0] = 1;for(i=1; i<=n; i++){for (j=i; j<=i*6; j++){a[i&1][j] = 0;for (k=j-1; k>=j-6; k--){if (k>=i-1 && k<=(i-1)*6)a[i&1][j] += a[(i-1)&1][k]/6;}if (i == n)printf("%d: %.3lf\n", j, a[i&1][j]);}}printf("\n");}return 0;
}
/**************************************************************Problem: 1255User: liangrx06Language: CResult: Wrong Answer
****************************************************************/
转载于:https://www.cnblogs.com/liangrx06/p/5083810.html
九度OJ 1255:骰子点数概率 (递归、DP)相关推荐
- 打不开磁盘配额linux,九度OJ 1455 珍惜现在,感恩生活 -- 动态规划(背包问题)...
题目描述: 为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买.请问:你用有限的资金最 ...
- Freckles - 九度 OJ 1144
Freckles - 九度 OJ 1144 题目 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: In an episode of the Dick Van Dyke show, l ...
- 非常可乐(九度 OJ 1457)
非常可乐(九度 OJ 1457) 时间限制:1 秒 内存限制:32 兆 特殊判题:否 1.题目描述: 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是 seeyou 却不这么认为.因为每次当 see ...
- 九度OJ 题目1179:阶乘
/********************************* * 日期:2013-2-8 * 作者:SJF0115 * 题号: 九度OJ 题目1179:阶乘 * 来源:http://ac.jo ...
- 九度OJ——1028继续畅通工程
题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).现得到城镇道路统计表,表中列出了任意两城镇间修 ...
- Leagal or Not - 九度 OJ 1448
Leagal or Not - 九度 OJ 1448 题目 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: ACM-DIY is a large QQ group where man ...
- 九度OJ 题目1069:查找学生信息 随笔
** 九度OJ 题目1069:查找学生信息 ** 题目描述如下: 输入N个学生的信息,然后进行查询. 输入 输入的第一行为N,即学生的个数(N<=1000) 接下来的N行包括N个学生的信息,信息 ...
- 九度OJ 题目1203:IP地址
/********************************* * 日期:2013-2-8 * 作者:SJF0115 * 题号: 九度OJ 题目1203:IP地址 * 来源:http://ac. ...
- 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)
题目地址:http://ac.jobdu.com/problem.php?pid=1024 题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有 ...
- 题目1255:骰子点数概率(动态规划)
提交总是Wrong Answer,觉得自己的代码是没有问题的,如4个骰子的和为4的情况只能有一个,就是4个全部为1 题意:给出n个骰子,计算所有骰子朝上一面的点数之和为S对应的概率 思路:用dp(i, ...
最新文章
- rpm方式安装mysql5.7.24_linux centOS 7安装mysql 5.7.24
- iOS -- iOS11新特性,如何适配iOS11
- 缓存穿透、缓存击穿、缓存雪崩及其解决方案
- boost::detail::yield相关的测试程序
- DCASE三次挑战赛概览
- 易成新能加码光伏产业链 作价28.29亿收购赛维两子公司
- 管理刀片服务器的KVM切换器
- mysql 偏移量是什么_数据块内部偏移量的基本计算方法
- 主机和虚拟机复制粘贴失效的解决方案
- linux内核奇遇记之md源代码解读之二
- 计算机桌面隐喻,计算机英语词汇隐喻分析论文
- 自动驾驶技术发展的5个阶段和现状
- js 通过图片链接获取file对象
- GC日志中sys时间比user时间长该如何处理?
- java泛型常用特点_?你必须知道的Java泛型
- WORDBOOK - ForeverStrong Cheng - YongQiang Cheng
- 云笔记使用的感受!(有道云, 印象云, 未知云)
- 工业路由器智能井盖监控方案
- for和of引导的不定式结构的区别
- Verilog HDL|实验项目六例
热门文章
- qt控制程序打开记事本_Qt 记事本程序
- python 折线图拐角平滑_python利用插值法对折线进行平滑曲线处理
- php编译gd支持gif,我可以使用php和gd检测GIF动画吗?
- mysql python用法_python-mysql基本用法
- 计算机组装与维护精品,国家精品课程——《计算机组装与维护》.pdf
- DataGame : AIIA 2019
- 算法:Find First and Last Position of Element in Sorted Array(在有序数组中搜索第一个和最后一个找到的数字)
- 5G组网方案和频谱规划
- 377.组合总和IV
- 前缀无歧义编码(PFC)