CSUOJ 1009 抛硬币
Description
James得到了一堆有趣的硬币,于是决定用这些硬币跟朋友们玩个小游戏。在一个N行M列的表格上,每一个第i行第j列的格子上都放有一枚James的硬币,抛该硬币正面朝上的概率为Pij,所有抛硬币事件两两之间是相互独立的。
现在,玩家在M列硬币中,从每一列里各选择1枚,共M枚,构成一组。如此重复选择N组出来,且保证被选择过的硬币不能再选。选好组之后,每组的M枚硬币各抛一次,如果都是正面朝上,则该组胜利,总分赢得1分;否则该组失败,总分不加也不减。请问,如果让你自行选择硬币的分组,游戏总得分的数学期望的最大值是多少?
Input
输入有多组数据。每组数据第一行为N和M,1≤N≤100,1≤M≤10,以空格分隔。接下来有N行,每行M个小数,表示表格中对应的Pij。
输入以N=M=0结束,这组数据不输出结果。
Output
对于每组数据,输出对应游戏总得分的数学期望的最大值,四舍五入精确至4位小数。每组数据的输出占一行。
Sample Input
2 3 1.0 1.0 1.0 0.5 0.4 0.3 0 0
Sample Output
1.0600
Hint
#include<stdio.h>
#include<string>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
int m, n;
double map[15][110];
int main()
{while (~scanf("%d%d", &n, &m)){if (!m && !n)break;for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){scanf("%lf", &map[j][i]);//注意这里 i j 的位置}}for (int i = 0; i < m; i++)sort(map[i], map[i] + n);double sum = 0;for (int i = 0; i < n; i++){double cnt = 1;for (int j = 0; j < m; j++)cnt *= map[j][i];sum += cnt;}printf("%.4lf\n", sum);}return 0;
}/**********************************************************************Problem: 1009User: leo6033Language: C++Result: ACTime:4 msMemory:2036 kb
**********************************************************************/
转载于:https://www.cnblogs.com/csu-lmw/p/9124450.html
CSUOJ 1009 抛硬币相关推荐
- 有道概率题:一个有趣的抛硬币问题
假设有一个硬币,抛出字(背面)和花(正面)的概率都是0.5,而且每次抛硬币与前次结果无关.现在做一个游戏,连续地抛这个硬币,直到连续出现两次字为止,问平均要抛多少次才能结束游戏?注意,一旦连续抛出两个 ...
- bzoj4830 hnoi2017 抛硬币
题目描述 小 A 和小 B 是一对好朋友,他们经常一起愉快的玩耍.最近小 B 沉迷于**师手游,天天刷本,根本无心搞学习.但是已经入坑了几个月,却一次都没有抽到 SSR,让他非常怀疑人生.勤勉的小 A ...
- 抛硬币直到若干次(k次)连续正面向上的概率
文章目录 问题描述 说明 解答过程 问题描述 问题描述:抛一枚硬币,当出现连续的三次(或k次)正面向上的时候停止,问抛硬币的次数期望是多少? 说明 这个问题网上有很多答案,解释都不清楚,很多解释都误导 ...
- 抛硬币 直到连续出现两次字为止
题目: [plain] view plaincopy 假设有一个硬币,抛出字(背面)和花(正面)的概率都是0.5,而且每次抛硬币与前次结果无关.现在做一个游戏,连续地抛这个硬币,直到连续出现两次字为止 ...
- boost::math模块二项式分布来预测概率 抛硬币时的正面和反面的测试程序
boost::math模块二项式分布来预测概率 抛硬币时的正面和反面的测试程序 实现功能 C++实现代码 实现功能 boost::math模块二项式分布来预测概率 抛硬币时的正面和反面的测试程序 C+ ...
- Java黑皮书课后题第5章:5.40(模拟:正面或反面)编写程序,模拟抛硬币一百万次,显示出现正面和反面的次数
5.40(模拟:正面或反面)编写程序,模拟抛硬币一百万次,显示出现正面和反面的次数 题目 题目概述 破题 代码 运行示例 题目 题目概述 5.40(模拟:正面或反面)编写程序,模拟抛硬币一百万次,显示 ...
- 用贝叶斯来看看抛硬币的概率
前面介绍了贝叶斯学派的思想和先验分布.后验分布的相关知识,古典频率学派认为抛硬币的概率是常数,本文从贝叶斯学派的角度看待抛硬币的概率问题.本文详细介绍了 分布,重述贝叶斯思想,对于抛硬币的概率问题作 ...
- 从抛硬币试验看随机游走定义的基本概念错误
全世界只有3.14 % 的人关注了 爆炸吧知识 随机游走(Random Walk)是<随机过程>教科书中用于描述动态随机现象的一种基本随机过程,许多重要的随机过程都可由它派生出来,其理论不 ...
- 抛硬币正面期望_如果抛硬币,正面的数量多于反面的可能性
抛硬币正面期望 Problem statement: 问题陈述: Let N be a positive odd number. There are N coins, numbered 1, 2 , ...
- 差分隐私中随机响应的抛硬币问题(LDP)
[关于随机响应的抛硬币问题和LDP的思考] RAPPOR: Randomized Aggregatable Privacy-Preserving Ordinal Response [论文笔记] 写在前 ...
最新文章
- 201521123030《Java程序设计》 第2周学习总结
- SparkSQL读取文件时,数据字段类型调整
- 实验11.2 链表 6-4 链表拼接
- C++空类和string类
- oracle语法官方文档,Oracle官方文档必备语法知识
- python 全栈开发,Day63(子查询,MySQl创建用户和授权,可视化工具Navicat的使用,pymysql模块的使用)...
- CPU多核并发缓存架构介绍
- 笨办法学 Python · 续 练习 49:`sed`
- flask response对象
- SQL:查询表中各类点数量以及各类点满足某条件数量
- 自制hdmi线一头改vga图_破拆电脑VGA电缆以制作收音机天线零件:双目铁氧体磁芯...
- Spark SQL 创建局部视图和全局视图,以及找不到全局视图的问题解决
- 用Python做一个Mean Rerversion策略
- Linux命令行窗口无法输入密码
- 安克创新能否锚定全球家用储能市场 隆起新的增长极?
- android手机主板,主板芯片全解
- 马明哲:平安最大对手是阿里和腾讯等现代科技企业
- PHP+Nginx+宝塔+rsync代码同步 实现Nginx负载均衡
- 7-65 字符串替换 (15 分) 本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换: 原字母	对应字母 A	Z B	Y C	X D	W …	… X	C Y	B Z	A
- 微信小程序源码删除解决办法解包
热门文章
- 百度文库下载器 V2.3.4.3 支持豆丁百度文库道客巴巴
- oracle 下载 pb12.5,PowerBuilder 12.6
- Lingo 11.0免费下载安装
- 让你的MSN更精彩!聊天伴侣小i机器人试用体验
- 条件语句与循环语句:将数字一二三四五六七八九十转化成汉字大写的壹, 贰,叁,肆,伍,陆,柒,捌,玖,拾
- LAMP兄弟连PHP高薪就业班2012召集令
- 会话描述协议-SDP
- 计算机的各种配件知识,菜鸟必读:DIY装机需要知道的一些配件小知识
- 程序猿常识--OJ系统和ACM测试考试大全
- 【ichart】简单的统计图表ichart.js的使用