//在以上的部落格看到的,博主把我的疑問都解答了!
分析:因為排在第乙個永遠只能是還鞋的人,那麼**的實現上會比較彆扭。我們換成從最後一位開始,那麼就沒有這個問題了。
#include int fangan(int m,intn);int main(int argc, const
char *argv)
//**實現的核心部分是從最後排在最後的那位人開始的
//因為第一位永遠只能是還鞋的人,那麼**的實現會很彆扭,所以思路轉換成從最後一位人開始排列
int fangan(int m,int
n)
//當需要借鞋的人數==0,即沒有的時候,此次排列是成功的
if (n==0
)
//假設兩種情況,一種是排乙個還鞋的,乙個是排借鞋的
return fangan(m-1, n)+fangan(m, n-1);//
起初,我並不能理解這部分
}
未名湖邊的煩惱
問題描述 每年冬天,北大未名湖上都是滑冰的好地方。北大體育組準備了許多冰鞋,可是人太多了,每天下午收工後,常常一雙冰鞋都不剩。每天早上,租鞋視窗都會排起長龍,假設有還鞋的m個,有需要租鞋的n個。現在的問題是,這些人有多少種排法,可以避免出現體育組沒有冰鞋可租的尷尬場面。兩個同樣需求的人 比如都是租鞋...
未名湖邊的煩惱
問題描述 每年冬天,北大未名湖上都是滑冰的好地方。北大體育組準備了許多冰鞋,可是人太多了,每天下午收工後,常常一雙冰鞋都不剩。每天早上,租鞋視窗都會排起長龍,假設有還鞋的m個,有需要租鞋的n個。現在的問題是,這些人有多少種排法,可以避免出現體育組沒有冰鞋可租的尷尬場面。兩個同樣需求的人 比如都是租鞋...
未名湖邊的煩惱
問題描述 每年冬天,北大未名湖上都是滑冰的好地方。北大體育組準備了許多冰鞋,可是人太多了,每天下午收工後,常常一雙冰鞋都不剩。每天早上,租鞋視窗都會排起長龍,假設有還鞋的m個,有需要租鞋的n個。現在的問題是,這些人有多少種排法,可以避免出現體育組沒有冰鞋可租的尷尬場面。兩個同樣需求的人 比如都是租鞋...