如有不足還請指正
還鞋的人有m個,租鞋的人有n個。先不考慮體育組那有沒有鞋,只看怎麼排隊,就是乙個排列組合問題。
乙個人還鞋後,剩下m-1個還鞋的人和n個借鞋的人,問題變為 f(m-1, n)。
乙個人借鞋後,剩下m個還鞋的人和n-1個借鞋的人,問題就變為 f(m, n-1)。
可初步得遞推公式:f(m-1, n) + f(m, n-1)
現在來看限制條件,體育組那裡必須有鞋可借。
把m看成乙個整體,n看成乙個整體,不考慮m,n個人的內部怎麼排隊。
如果是還鞋的人比借鞋的人少(也包括m=0這種情況),即m
如果還鞋的人比借鞋的人多,m>=n
,此時只需要進行排列組合即可。
如果還鞋的人有,借鞋的人沒有,n==0
,此時問題的解為1。
最後根據m,n的關係列出公式:
// 乙個人還了鞋後,剩下m-1個還鞋的和n個借鞋的
return0;
}int
main
(int argc,
const
char
* argv)
未名湖邊的煩惱
問題描述 每年冬天,北大未名湖上都是滑冰的好地方。北大體育組準備了許多冰鞋,可是人太多了,每天下午收工後,常常一雙冰鞋都不剩。每天早上,租鞋視窗都會排起長龍,假設有還鞋的m個,有需要租鞋的n個。現在的問題是,這些人有多少種排法,可以避免出現體育組沒有冰鞋可租的尷尬場面。兩個同樣需求的人 比如都是租鞋...
未名湖邊的煩惱
問題描述 每年冬天,北大未名湖上都是滑冰的好地方。北大體育組準備了許多冰鞋,可是人太多了,每天下午收工後,常常一雙冰鞋都不剩。每天早上,租鞋視窗都會排起長龍,假設有還鞋的m個,有需要租鞋的n個。現在的問題是,這些人有多少種排法,可以避免出現體育組沒有冰鞋可租的尷尬場面。兩個同樣需求的人 比如都是租鞋...
未名湖邊的煩惱
問題描述 每年冬天,北大未名湖上都是滑冰的好地方。北大體育組準備了許多冰鞋,可是人太多了,每天下午收工後,常常一雙冰鞋都不剩。每天早上,租鞋視窗都會排起長龍,假設有還鞋的m個,有需要租鞋的n個。現在的問題是,這些人有多少種排法,可以避免出現體育組沒有冰鞋可租的尷尬場面。兩個同樣需求的人 比如都是租鞋...