[九度][何海涛] 乐透之猜数游戏
- 题目描述:
-
六一儿童节到了,YZ买了很多丰厚的礼品,准备奖励给JOBDU里辛劳的员工。为了增添一点趣味性,他还准备了一些不同类型的骰子,打算以掷骰子猜数字的方式发放奖品。例如,有的骰子有6个点数(点数分别为1~6),有的骰子有7个(点数分别为1~7),还有一些是8个点数(点数分别为1~8) 。他每次从中拿出n个同一类型的骰子(假设它们都是拥有m个点数并且出现概率相同)投掷,然后让员工在纸上按优先级(从高到低)的顺序写下3个数上交,表示他们认为这些骰子最有可能的点数之和是多少。第一个数就猜对的人,是一等奖;第二个数才猜对的人是二等奖;如果三个数都不是正确答案,别灰心!YZ还准备了很多棒棒糖。ZL很聪明,他想了想,打算把概率(以保留两位小数的概率计)最高的三个数找出来,如果有概率相同,则选择其中点数和最小的那个数。你觉得ZL会依次写下哪三个数?
- 输入:
-
输入有多组数据。
每组数据一行,包含2个整数n(0<=n<=10),m(6<=m<=8),n表示YZ拿出的骰子数,m表示骰子拥有的点数。如果n=0,则结束输入。
- 输出:
-
对应每组数据,输出ZL最可能依次写下的点数,以及其对应的概率值。概率值按4舍5入要求保留2位小数。每组数据之间空一行,注意:最后一组数据末尾无空行。
- 样例输入:
-
1 6 4 6 3 7 0
- 样例输出:
-
1 0.17 2 0.17 3 0.1713 0.11 14 0.11 15 0.1112 0.11 10 0.10 11 0.10 DP的背包问题。
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <vector> 5 #include <algorithm> 6 using namespace std; 7 8 struct Node 9 { 10 double p; 11 int val; 12 Node(){} 13 Node(int v, double _p):val(v), p(_p){} 14 }; 15 16 bool comp(const Node &lhs, const Node &rhs) 17 { 18 if (lhs.p > rhs.p) 19 return true; 20 else if (lhs.p < rhs.p) 21 return false; 22 else 23 return lhs.val < rhs.val; 24 } 25 26 int main() 27 { 28 int n, m; 29 int f[10][81]; 30 while(cin >> n) 31 { 32 if (n == 0) 33 break; 34 cin >> m; 35 memset(f, 0, sizeof(f)); 36 37 for(int i = 1; i <= m; i++) 38 f[0][i] = 1; 39 40 int v = m * n; 41 for(int i = 1; i < n; i++) 42 for(int j = 1; j <= m; j++) 43 for(int k = 1; k <= v - j; k++) 44 f[i][k+j] += f[i-1][k]; 45 46 vector<Node> num; 47 int sum = 0; 48 for(int i = 1; i <= v; i++) 49 sum += f[n-1][i]; 50 51 for(int i = 1; i <= v; i++) 52 { 53 double p = f[n-1][i] / (double)sum; 54 p += 0.005; 55 int a = (int)(p * 100); 56 p = (double)a / 100; 57 num.push_back(Node(i, p)); 58 } 59 60 sort(num.begin(), num.end(), comp); 61 62 for(int i = 0; i < 3; i++) 63 printf("%d %.2lf\n", num[i].val, num[i].p); 64 printf("\n"); 65 } 66 }
转载于:https://www.cnblogs.com/chkkch/archive/2012/11/23/2784950.html
[九度][何海涛] 乐透之猜数游戏相关推荐
- python猜数游戏续_python猜数游戏续改编
answer=456 n=input('Enteranumber:') correct=len([iforiinnifiinstr(answer)]) exact=len([afora,binzip( ...
- 猜数游戏(GAMBLER)
解题: 1.电脑要拿到一个用户不知道的数字 2.用户猜数,电脑告知数字大了,小了并在用户猜对后结束循环告知猜的次数(switch语句针对不同次数做出不同态度) 算法部分: 首先给电脑赋一个随机且有范围 ...
- 猜数游戏c语言程序流程图,C语言程序设计之猜数游戏.ppt
C语言程序设计之猜数游戏 编程人员演示 C语言程序设计之猜数游戏 --软工一班 第二小组 程序功能简介 程序思路导引 程序流程图 程序N-S图 组员名单及其具体分工 end page 程序功能简介(1 ...
- python猜数游戏在程序中预设一个_一道Python简单程序结构练习题
1.猜数游戏. 在程序中预设一个0~9之间的整数,让用户通过键盘输入所猜数字,如果大于预设的数, 显示"遗憾,太大了":如果小于预设的数,显示"遗憾,太小了": ...
- python猜数游戏流程_python简单猜数游戏实例
本文实例讲述了python简单猜数游戏.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/env python import random number = random.randint ...
- php猜数游戏63,PHP实现猜数游戏的代码实例分享
猜数游戏有两种玩法: 第一种:两个人玩,一方出数字,一方猜.出数字的人要想好一个指定位数的数,数字可重复,不能让猜的人知道. 猜的人就可以开始猜.每猜一个数,出数者就要说大过或小过出的数. 第二种:两 ...
- 计算机猜数游戏matlab,MATLAB课程设计报告猜数游戏设计
课程设计的目的及意义 目的:通过本次课程设计,可以使我进一步认识MATLAB理论方法和实际意义,对理论知识进行必要实践.培养我们设计和仿真的基本能力,以便最终和生产实践以及其他科学结合. 意义: 1. ...
- 十四、Java练习:一个猜数游戏
@Author:Runsen @Date:2020/5/23 本专栏是付费学Java专栏,今天我做一个猜数游戏.将前面,我写的全部复习下. 其实,这个猜数游戏,也是我学Java中的学过的. 文章目录 ...
- 猜数游戏,随机目标数字,直到猜中退出
/* 猜数游戏(其三:目标数字是0~999的随机数)*/#include <time.h> #include <stdio.h> #include <stdlib.h&g ...
最新文章
- 技术图文:如何解决 DAO 抛出的 80040154 错误?
- 针对2013年B题碎纸片拼接问题(附件一、附件二)
- ImportError: Failed to import `pydot`. Please install `pydot`. For example with `pip install pydot`
- 国人如此浮躁为哪般? --- 我看2018年度AI圈八大造假事件华人独占6件
- Linux内核将支持HyperBus
- SiamNet: 全卷积孪生网络用于视频跟踪
- Javaweb开发环境与搭建
- 实验:PIO外部中断
- 天梯赛模拟 链表去重 (25 分)
- android onitemclicklistener 参数,android – OnItemClickListener从模型中获取数据
- win10下安装和卸载Ubuntu双系统
- 【原创】(十二)Linux内存管理之vmap与vmalloc
- 第六章 实验报告(函数与宏定义)
- Spring, MyBatis 多数据源的配置和管理
- 语言 泰克示波器程序_示波器再升级,EMI测试不求人
- shell的EOF用法
- PostgreSQL使用pgAdmin3不能编辑表里的数据
- android消息提示框大小,android Toast設置彈框大小
- Python获取逐浪小说内容
- 数据库-SQL Server数据库查询速度慢(连接超时)原因及优化方法
热门文章
- signature=c4f11bb5142d9f6ce0876b3cc0d888af,PROVISIONAL SIGNATURE SCHEMES
- linux 安装 tao环境,linux环境安装hbase------不一定需要hadoop
- 使用计算机的缺点英文作文,网络与计算机的好处与坏处英文作文
- python 模拟用户点击浏览器_Python-模拟浏览器-下载文献
- canvas 闭合_想使用SVG或者canvas 手绘闭合多边形,使用vml效果已经实现了,由于vml只能支持ie所以想转成SVG或canvas...
- linux设置数据库定时备份,linux中使用计划任务进行数据库定期备份
- 新网 云服务器,新网云服务器的优势包括什么?
- windows 命令行cmd安装python matplotlib模块后pycharm显示“ModuleNotFoundError: No module named ‘matplotlib‘解决方法
- C#获取当前进程、项目路径的方法
- 编程指南_今晚7点,译者编程入门指南抽奖!