Wannafly挑戰賽6 B 比賽 暴力列舉

2021-08-13 22:36:23 字數 1458 閱讀 5799

你在打比賽,這場比賽總共有12個題

對於第i個題,你的隊伍有a[i]的機率解決她

如果解決不了她呢?

由於所有人討論的都很大聲

所以你有b[i]的概率從左邊那個隊那裡聽會這個題的做法

有c[i]的概率從右邊那個隊那裡聽會這個題的做法

請問最終你們隊伍解出0-12題的概率分別是多少

第一行12個數表示a[1] -> a[12]

第二行12個數表示b[1] -> b[12]

第三行12個數表示c[1] -> c[12]

輸出13行,第i行表示解出i-1題的概率

保留6位小數

0.20 0.30 0.37 0.40 0.45 0.50 0.57 0.60 0.75 0.76 0.77 0.83

0.85 0.88 0.90 0.94 0.100 0.104 0.105 0.107 0.115 0.120 0.122 0.125

0.128 0.130 0.134 0.140 0.149 0.150 0.152 0.155 0.170 0.183 0.203 0.240

0.000000

0.000000

0.000000

0.000011

0.000160

0.001508

0.009620

0.041938

0.124153

0.243773

0.301960

0.212453

0.064424

題意: 看清是列印做出0,1,2,…..,12 道題的概率就ok啦

分析: 首先考慮每道題的做對或做錯的概率,如果正面考慮每道題做對的概率不好分析,可以直接求做錯的概率p,每道題為,(1

−a[i

])∗(

1−b[

i])∗

(1−c

[i])

,做對的概率為(1-p),有了這些就好做了,因為只有12場比賽,直接暴力列舉即可

#include 

using

namespace

std;

double a[111],b[111],c[111],y[111],s[111];

double res[111];

int main()

for(int i = 0;i < 12;i++)

for(int i = 0;i < 12;i++)

for(int i = 0;i < 100;i++) res[i] = 0.0;

for(int i = 0;i < 12;i++)

for(int i = 0;i < (1

<<12);i++)

}res[cnt] += t;

}for(int i = 0;i <= 12;i++)

return

0;}

Wannafly挑戰賽6 鎖

106號房間共有n名居民,他們每人有乙個重要度。房間的門上可以裝若干把鎖。假設共有k把鎖,命名為1到k。每把鎖有一種對應的鑰匙,也用1到k表示。鑰匙可以複製並發給任意多個居民。每個106房間的居民持有若干鑰匙,也就是1到k的乙個子集。如果幾名居民的鑰匙的並集是1到k,即他們擁有全部鎖的對應鑰匙,他們...

Wannafly挑戰賽13 比賽總結與部分題解

a 題意很清晰了,就是讓你打表,問你一共多少字串看起來一樣,把每一位的情況數乘起來就可以了 注意取模方式 includeusing namespace std int main else if s i 1 s i 9 printf lld n sum b 說實話我原來真的想複雜了,以為隨機出現的雲彩...

Wannafly挑戰賽6 D 鎖

時間限制 c c 1秒,其他語言2秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld 題目描述 106號房間共有n名居民,他們每人有乙個重要度。房間的門上可以裝若干把鎖。假設共有k把鎖,命名為1到k。每把鎖有一種對應的鑰匙,也用1到k表示。鑰匙可以複...