九度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.167 2: 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 1000 int 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: 1255
User: liangrx06
Language: C
Result: Wrong Answer
****************************************************************/
九度OJ 1255:骰子点数概率 (递归、DP)的更多相关文章
- 九度OJ 1338:角斗士 (递归、DP)
时间限制:3 秒 内存限制:32 兆 特殊判题:否 提交:213 解决:66 题目描述: 角斗士是古罗马奴隶社会的一种特殊身份的奴隶,他们的职责是在角斗场上进行殊死搏斗,为了人们提供野蛮的娱乐.他们的 ...
- 九度OJ 1073:杨辉三角形 (递归)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3780 解决:1631 题目描述: 输入n值,使用递归函数,求杨辉三角形中各个位置上的值. 输入: 一个大于等于2的整型数n 输出: 题目可 ...
- 九度OJ 1092:Fibonacci (递归)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1923 解决:1378 题目描述: The Fibonacci Numbers{0,1,1,2,3,5,8,13,21,34,55...} ...
- 九度OJ 1112:拦截导弹 (DP、最长下降子序列)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3124 解决:1525 题目描述: 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能 ...
- 九度OJ 1131:合唱队形 (DP、最长上升下降序列)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2865 解决:881 题目描述: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形. ...
- 九度OJ 1086:最小花费 (DP)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3960 解决:819 题目描述: 在某条线路上有N个火车站,有三种距离的路程,L1,L2,L3,对应的价格为C1,C2,C3.其对应关系如下 ...
- 九度OJ 1101:计算表达式 (DP)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4340 解决:1335 题目描述: 对于一个不存在括号的表达式进行计算 输入: 存在多种数据,每组数据一行,表达式不存在空格 输出: 输出结 ...
- 【九度OJ】题目1078:二叉树遍历 解题报告
[九度OJ]题目1078:二叉树遍历 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1078 题目描述: 二叉树的前序.中序.后序遍历 ...
- 【九度OJ】题目1467:二叉排序树 解题报告
[九度OJ]题目1467:二叉排序树 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1467 题目描述: 二叉排序树,也称为二叉查找树 ...
随机推荐
- ElasticSearch 安装中文分词器
1.安装中文分词器IK 下载地址:https://github.com/medcl/elasticsearch-analysis-ik 在线下载安装: elasticsearch-plugin.bat ...
- Elasticsearch 的 Update更新
Update更新操作允许ES获得某个指定的文档,可以通过脚本等操作对该文档进行更新.可以把它看成是先删除再索引的原子操作,只是省略了返回的过程,这样即节省了来回传输的网络流量,也避免了中间时间造成的文 ...
- 数据结构与算法——优先队列类的C++实现(二叉堆)
优先队列简单介绍: 操作系统表明上看着是支持多个应用程序同一时候执行.其实是每一个时刻仅仅能有一个进程执行,操作系统会调度不同的进程去执行. 每一个进程都仅仅能执行一个固定的时间,当超过了该时间.操作 ...
- JNI 函数注册与管理
class<--> 一一对应so-->method 每个so对应于一个类对象 类中的每个native方法对应 于so中的一个native的function,对应关系涉及 {c ...
- JavaScript对象浅复制
1.概述 Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target). 注意,如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面 ...
- (三)Thymeleaf标准表达式之——文字(literals)
2.2 文字(literals) 模板名称:text.html 2.2.1 文本(text literals)(放在 单引号 里面,可以是任意字符) <p> Now you are loo ...
- java 根据生日计算年龄 Java问题通用解决代码
根据生日计算年龄可以通过Calendar实现.最简单可以考虑get(Calendar.DAY_OF_YEAR)来简单修正年龄,但是遇到生日在闰年的2月29之后,或者今年是闰年的2月29之后可能出现计算 ...
- MQTT--Mosquitto的配置文件
Mosquitto的配置文件存放在/etc/mosquitto/mosquitto.conf 配置文件具体的配置内容为: # ===================================== ...
- 人不在囧途 便携式3G上网设备+套餐推介
来源: http://network.pconline.com.cn/317/3174920_all.html [PConline资讯]过年回家,本该是再高兴不过的事,可一想到要在路上颠簸数十个小时, ...
- jar包解压与打包
首先感谢大神的指导:https://blog.csdn.net/mr_pang/article/details/47028921 1.首先准备一个能运行的jar文件,我们使用第三方解压工具进行解压wi ...