"
石頭、剪刀、布」也叫作"猜丁殼」,是猜拳
的一種。遊戲規則中,石頭克剪刀,剪刀克布,布克石頭。
紅哥哥聽聞程設的同學們都是擅長玩猜丁殼的高手,於是他決定舉辦一場主題為"猜丁殼」的遊戲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完,忽然鼻子一抽 有吃的!他決定馬上趕去吃這麼好吃的東西。語文男為了考驗婦添小的品味,在路中間放了很多饅頭,看他會不會餓的先吃饅頭。婦添小當然不會讓這種雕蟲小計得逞!為了保持自己的品味,...