題問:給n個人信件全部轉錯信封的情況的總數;
這裡詳解一下這條公式是怎麼推出來的!
首先,f(n)代表n封信件全部裝錯的情況數。
假設有100個信件需要投遞,。那麼我把信件分成兩部分:99封 和 1封;
我把這99封信給其中乙個人a,讓他交給其餘的人(其中包裹他自己的信)。有 (n - 1)種送法。
而剩下這「1封」信有兩種情況:
1.剛好是 a 的信。那麼剩下99封信就沒有a的信,他可以隨便裝,有f(n - 1)中裝錯的方法。
2.不是a的信。那麼他就必須把自己的那封信取出來,那麼就剩下98封信他可以隨便裝,有f(n - 2)中裝錯的方法。
所以, 得出公式 f(n) = (n-1) *( f(n-1) + f(n-2));
**:#includeusing namespace std;
#define maxn 22
_int64 list[maxn];
void init() {
list[2] = 1;
list[3] = 2;
for (int i=4; i>n) {
cout<
hdu1465(放錯信 錯排公式)
problem description 大家常常感慨,要做好一件事情真的不容易,確實,失敗比成功容易多了!做好 一件 事情尚且不易,若想永遠成功而總從不失敗,那更是難上加難了,就像花錢總是比掙錢容易的道理一樣。話雖這樣說,我還是要告訴大家,要想失敗到一定程度也是不容易的。比如,我高中的時候,就有乙個...
hdu1465(放錯信 錯排公式)
problem description 大家常常感慨,要做好一件事情真的不容易,確實,失敗比成功容易多了!做好 一件 事情尚且不易,若想永遠成功而總從不失敗,那更是難上加難了,就像花錢總是比掙錢容易的道理一樣。話雖這樣說,我還是要告訴大家,要想失敗到一定程度也是不容易的。比如,我高中的時候,就有乙個...
不容易系列之一 HDU 1465 (錯排公式)
hdu 1465 大家常常感慨,要做好一件事情真的不容易,確實,失敗比成功容易多了!做好 一件 事情尚且不易,若想永遠成功而總從不失敗,那更是難上加難了,就像花錢總是比掙錢容易的道理一樣。話雖這樣說,我還是要告訴大家,要想失敗到一定程度也是不容易的。比如,我高中的時候,就有乙個神奇的女生,在英語考試...