網教20 猜 丁 殼!

2021-07-22 17:52:05 字數 1738 閱讀 3398

"

石頭、剪刀、布」也叫作"猜丁殼」,是猜拳

的一種。遊戲規則中,石頭克剪刀,剪刀克布,布克石頭。

紅哥哥聽聞程設的同學們都是擅長玩猜丁殼的高手,於是他決定舉辦一場主題為"猜丁殼」的遊戲party。想要參加party,你必須cospaly為石頭、剪刀、布中的一種。紅哥哥為了增加遊戲難度,他限制了party中每種角色的數量,其中石頭r人,剪刀s人,布p人。

這場遊戲的規則是:在party上,任意兩個角色不同的人相遇,就會根據"猜丁殼」的規則淘汰一人,被淘汰的人不能繼續參加遊戲,直到場上只剩一種角色的人時,該角色就獲得勝利,並且將得到紅哥哥送出的"rs

pking」獎章。另外,由於紅哥哥友情贊助了無限大的場地,party上的任意兩個參賽人員相遇的機率都是相等的,也是隨機的。

明天就是party舉辦的日子了,你正在思考應該扮演哪種角色才能最大可能留到最後,於是

機智的你決定計算一下

每種角色最終獲勝的概率期望。

輸入:

輸入包含三個整數r, s

, p(

1 ≤ r, 

s, p≤ 100)

輸出:

輸出一行包含三個小數,分別代表石頭、剪刀、布最終獲勝的期望概率。結果輸出到小數點後第六位。

測試輸入

期待的輸出

時間限制

記憶體限制

額外程序

測試用例 1

以文字方式顯示

2 2 2↵

以文字方式顯示

0.333333 0.333333 0.333333↵ 1秒

64m0

測試用例 2

以文字方式顯示

2 1 2↵

以文字方式顯示

0.150000 0.300000 0.550000↵ 1秒

64m0

題解:這個題以前遲神講過……好像還做過……可是現在還是不會了

感覺最近做題做的水水的,對於問題都一知半解的,遇到了以前會做的題也做不出來了……

公式就是這樣:

f陣列裡存的是還剩i個石頭,j個剪刀,k個布的時候的概率,然後讓i,j,k從r,s,p遞減到0,這個過程中要判斷分母是否為0,如果是0的話就跳過。最後把[0][0][1]到[0][0][p],[0][1][0]到[0][s][0],[1][0][0]到[r][0][0]加起來,分別就是三種贏的概率了。

感覺自己最近水平下滑,智商捉急。

ac**:

#include#includedouble dp[102][102][102] = ;  

int max(int a, int b)

int main()

double a=0, b=0, c=0;

for (int i = 1; i <= r; i++)

a += dp[i][0][0];

for (int i = 1; i <= s; i++)

b += dp[0][i][0];

for (int i = 1; i <= p; i++)

c += dp[0][0][i];

printf("%.6f %.6f %.6f\n", a,b,c);

return 0;

}

網教30 過橋

題目描述 小a有x隻羊和y只狼,現在,他需要通過一座橋。由於橋面很窄,橋每次只允許通過小a和n只動物。小a很愛動物,所以他每次通過橋時都必須有乙隻動物陪著他,否則他會很寂寞。並且不論是在牆上或者是在橋的兩頭,一旦羊的數量少於狼的數量,狼就會開始吃羊。為了不讓羊被吃掉,又要讓所有動物和小a自己都通過橋...

網教 7 蜜汁序列

題目描述 傳說中有一種蜜汁序列特別甜,所以愛吃甜的強渣學長特別喜歡這種序列。蜜汁序列的定義如下 對於乙個長度為n的序列a1,an,如果這個序列的n個字首和全部非負,即若a1 0,a1 a2 0,a1 a2 an 0,則稱a序列是蜜汁序列。顯然一些蜜汁序列可以分成更多的蜜汁序列,例如1 2這個蜜汁序列...

網教17 有吃的!

婦添小有乙個很厲害的技能 發現吃的!如果有好吃的東西,不論多遠,只要一聞就能知道在 這天他剛剛在程設rejudge完,忽然鼻子一抽 有吃的!他決定馬上趕去吃這麼好吃的東西。語文男為了考驗婦添小的品味,在路中間放了很多饅頭,看他會不會餓的先吃饅頭。婦添小當然不會讓這種雕蟲小計得逞!為了保持自己的品味,...