奪冠概率和轉矩陣

2021-07-10 09:13:26 字數 1791 閱讀 4034



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

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

甲  乙  丙  丁  

甲   -  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萬次模擬,計算出甲隊奪冠的概率。

注意:請仔細除錯!您的程式只有能執行出正確結果的時候才有機會得分!

在評卷時使用的輸入資料與試卷中給出的例項資料可能是不同的。

請把所有函式寫在同乙個檔案中,除錯好後,存入與【考生資料夾】下對應題號的「解答.txt」中即可。

相關的工程檔案不要拷入。

源**中不能能使用諸如繪圖、win32api、中斷呼叫、硬體操作或與作業系統相關的api。

允許使用stl類庫,但不能使用mfc或atl等非ansi c++標準的類庫。例如,不能使用cstring型別(屬於mfc類庫)。

若甲贏,則對應甲贏乙的概率,丙贏丁的概率,甲贏丙的概率之積,

按照甲第乙個對手來分,有三種情況,sum/3即可

#include using namespace std;

double rate[4][4]=

, ,

,};int main()

}cout<

答案:0.076

對乙個方陣轉置,就是把原來的行號變列號,原來的列號變行號

例如,如下的方陣:

1  2  3  4

5  6  7  8

9 10 11 12

13 14 15 16

轉置後變為:

1  5  9 13

2  6 10 14

3  7 11 15

4  8 12 16

但,如果是對該方陣順時針旋轉(不是轉置),卻是如下結果:

13  9  5  1

14 10  6  2

15 11  7  3

16 12  8  4

下面的**實現的功能就是要把乙個方陣順時針旋轉。

void rotate(int* x, int rank)

int main(int argc, char* argv)

,,,};

int rank = 4;

rotate(&x[0][0], rank);

for(int i=0; ireturn 0;

}malloc標頭檔案:stdlib.h

int *p;

p=(in*t)malloc(sizeof(int)*128);

意思是分配128個整型儲存單元

答案:sizeof(int)*rank*rank

(i%4)*4+3-i/4

#include #include#includeusing namespace std;

void rotate(int* x, int rank)

{ int* y = (int*)malloc(sizeof(int)*rank*rank); // 填空

for(int i=0; i思路如下:

9 奪冠概率

足球比賽具有一定程度的偶然性,弱隊也有戰勝強隊的可能。假設有甲 乙 丙 丁四個球隊。根據他們過去比賽的成績,得出每個隊與另乙個隊對陣時取勝的概率表 甲 乙 丙 丁 甲 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...