解題思路:模擬100000次比賽,獲勝的概率用隨機數決定,比如a vs b,a贏的概率為0.6,那麼生成1-100的隨機數,如果隨機數小於等於60,則a勝,否則b勝。
#include#include#include#includeusing namespace std;
double possible[4][4] = ,,,
};int team[4], visited[4], win[4], cnt=0;
void pk(int is_end)
win[i]++;
}else
win[team[i]]++;
}visited[i] = 1;
visited[team[i]] = 1;
} }}int main()
else
//第一次pk,淘汰兩個人
pk(false);
if(win[0])
}}
pk(true);
// cout << "********************\n";
}// cout << cnt << endl;
double answer = (double)cnt/100000.0;
cout << answer;
return 0;
}
藍橋杯 奪冠概率(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 資料含義 甲對乙的取勝概...
2023年藍橋杯預賽第七題放棋子
if return false 填空 return true int getrowstonenum int x 6 int r int getcolstonenum int x 6 int c void show int x 6 printf n void f int x 6 int r,int c...
16年藍橋杯第九題 交換瓶子
有n個瓶子,編號 1 n,放在架子上。比如有5個瓶子 2 1 3 5 4 要求每次拿起2個瓶子,交換它們的位置。經過若干次後,使得瓶子的序號為 1 2 3 4 5 對於這麼簡單的情況,顯然,至少需要交換2次就可以復位。如果瓶子更多呢?你可以通過程式設計來解決。輸入格式為兩行 第一行 乙個正整數n n...