2012藍橋杯 初賽試題 奪冠概率

2022-08-30 15:45:21 字數 1435 閱讀 9632

題目描述:

足球比賽具有一定程度的偶然性,弱隊也有戰勝強隊的可能。

假設有甲、乙、丙、丁四個球隊。根據他們過去比賽的成績,得出每個隊與另乙個隊對陣時取勝的概率表:

甲  乙  丙  丁   

甲   -  0.1 0.3 0.5

乙 0.9  -   0.7 0.4 

丙 0.7  0.3 -   0.2

丁 0.5  0.6 0.8 -

資料含義:甲對乙的取勝概率為0.1,丙對乙的勝率為0.3,...

現在要舉行一次錦標賽。雙方抽籤,分兩個組比,獲勝的兩個隊再爭奪冠軍。(參見【1.jpg】)

請你進行10萬次模擬,計算出甲隊奪冠的概率。

題目分析:

這個題目是通過多次試驗的結果出現的頻率,來模擬事件發生的概率;

比賽的分組一共有3種情況:

1. 甲乙一組,丙丁一組

2. 甲丙一組,乙丁一組

3. 甲丁一組,乙丙一組

其中,每一種情況,甲都可能獲勝,也就有相應的獲勝概率;

理想狀態下,這三種情況,發生的概率是一樣的也就是1/3;

我們可以由此得到乙個理想狀態下的甲獲勝的概率,

我們將概率表定義為乙個4×4的陣列,則:

p1 = 1.0/3 * a[0][1] *(a[2][3] * a[0][2]  +  a[3][2] * a[0][3]);

p2 = 1.0/3 * a[0][2]*(a[1][3] * a[0][1]   +  a[3][1] * a[0][3]);

p3 = 1.0/3 * a[0][3]*(a[1][2] * a[0][1]   +  a[2][1] * a[0][2]);

p = p1+p2+p3 = 0.076

所以我們通過10萬次模擬的結果應該在0.076附近

程式**:

#include#include#includeusing namespace std;

double a[4][4]=,,

,};double fun2(double p1,int m,int n)//另一組比賽和第二輪比賽結果

double fun1(int n)

}int main()

; float p[3];

//甲乙——丙丁

p[0]=a[0][1]*(a[2][3]*a[0][2]+a[3][2]*a[0][3]);

//甲丙——乙丁

p[1]=a[0][2]*(a[1][3]*a[0][1]+a[3][1]*a[0][3]);

//甲丁——乙丙

p[2]=a[0][3]*(a[1][2]*a[0][1]+a[2][1]*a[0][2]);

srand(time(0));

float sum=0;

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

float pi = sum/10000;

cout<

藍橋杯 奪冠概率(2012預賽試題)

足球比賽具有一定程度的偶然性,弱隊也有戰勝強隊的可能。假設有甲 乙 丙 丁四個球隊。根據他們過去比賽的成績,得出每個隊與另乙個隊對陣時取勝的概率表 甲 乙 丙 丁 甲 0.1 0.3 0.5 乙 0.9 0.7 0.4 丙 0.7 0.3 0.2 丁 0.5 0.6 0.8 資料含義 甲對乙的取勝概...

藍橋杯 奪冠概率

奪冠概率 足球比賽具有一定程度的偶然性,弱隊也有戰勝強隊的可能。假設有甲 乙 丙 丁四個球隊。根據他們過去比賽的成績,得出每個隊與另乙個隊對陣時取勝的概率表 甲 乙 丙 丁 甲 0.1 0.3 0.5 乙 0.9 0.7 0.4 丙 0.7 0.3 0.2 丁 0.5 0.6 0.8 資料含義 甲對...

藍橋杯 奪冠概率

足球比賽具有一定程度的偶然性,弱隊也有戰勝強隊的可能。假設有甲 乙 丙 丁四個球隊。根據他們過去比賽的成績,得出每個隊與另乙個隊對陣時取勝的概率表 甲乙 丙丁甲 0.1 0.3 0.5 乙 0.9 0.7 0.4 丙 0.7 0.3 0.2 丁 0.5 0.6 0.8 資料含義 甲對乙的取勝概率為0...