zzulioj 2572 紅球還是黑球

2021-09-29 17:26:03 字數 1064 閱讀 2244

題目連線

乙個盒子中有n個紅球和m個黑球,n+m>=1,現在規定隨機拿出兩個球(拿出後不放回盒子中),如果是一紅一黑,則向盒子中放入乙個黑球;其他情況向盒子中放入乙個紅球。求當盒子中只剩乙個球時,是紅球的概率。

有多組測試資料,每組輸入兩個數,n,m(0<=n<=100,0<=m<=100,1<=n+m)

輸出包含一行是紅球的概率,保留6位小數。

樣例輸入

1 1

1 0

樣例輸出

0.000000

1.000000

分析問題:

求紅色的概率,可以倒著推導。

首先,觀察變化。

bb -> r ,rr -> r ,br - > b

也就是說,可以通過rr消去乙個r,也可以通過br消去乙個r,消去b的方式只有一種,通過bb同時消去兩個b,生成乙個r

由以上可以得知,如果b的數量是奇數,就不可能通過變換最後把 b 完全消去從而只剩下乙個 r ,因此此時概率為 0

如果是偶數個,不妨設 b 有很多很多個,r也有很多很多個,有三種情況:

取走了兩個b,這樣的話會消去兩個b生成乙個r,b的數量依然是偶數

取走了兩個r,這樣會消去兩個r再生成乙個r,b的數量不變

各取走乙個,會消去乙個r乙個b,再生成乙個b,b的數量不變

如果最後只剩下乙個 r ,必然要求把所有的 b 全部消去,只能通過操作1完成,如果中間有操作2 或者 3的發生,b 的數量不變,r 的數量增多或者減少,直到某一步b 完全消去了只有 r 的時候,無論怎麼操作都會在原來的基礎上少乙個 r ,因此一定可以滿足條件。因此概率為1

#include using namespace std;

int main()

else puts("1.000000");

} return 0;

}

SICP練習 85 練習2 57

看到題目中的能處理任意項就趕緊這道題挺難的,同時也想到了前面學過但還沒怎麼用過的點引數。題目中要能求和還能求乘積。我們先來寫求和的函式吧。define make sum a1 a2 if single operand?a2 let a2 car a2 cond number?a10 a2 numbe...

SICP練習 85 練習2 57

看到題目中的能處理任意項就趕緊這道題挺難的,同時也想到了前面學過但還沒怎麼用過的點引數。題目中要能求和還能求乘積。我們先來寫求和的函式吧。define make sum a1 a2 if single operand?a2 let a2 car a2 cond number?a10 a2 numbe...

SGU 257 Debt 貪心 模擬

題意 有乙個人欠三個人分別p o s 1 p o s 10 5 塊錢,現在這個人手裡有n 1 n 10 5 塊crystal,但是每塊crystal在不同人看來是不一樣的 價值 1塊或者2塊 現在問是否存在一種分配方案使得能還清3個人的錢。題解 首先給不同的crystal排優先順序,然後列舉滿足三個...