日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CSUOJ 1009 抛硬币

發布時間:2023/12/2 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 抛硬币的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。