資源限制
時間限制:1.0s 內存限制:256.0MB
問題描述
每年冬天,北大未名湖上都是滑冰的好地方。北大體育組準備了許多冰鞋,可是人太多了,每天下午收工後,常常一雙冰鞋都不剩。
每天早上,租鞋窗口都會排起長龍,假設有還鞋的m個,有需要租鞋的n個。現在的問題是,這些人有多少種排法,可以避免出現體育組沒有冰鞋可租的尷尬場面。(兩個同樣需求的人(比如都是租鞋或都是還鞋)交換位置是同一種排法)
輸入格式
兩個整數,表示m和n
輸出格式
一個整數,表示隊伍的排法的方案數。
樣例輸入
3 2
樣例輸出
5
數據規模和約定
m,n∈[0,18]
問題分析
解題思路:
該題提示用遞歸方式進行隊伍排序方案,本質上筆者理解爲排序方案的枚舉,把所有方案列出來,剔除不符合條件的方案,相加即爲最終結果。方法多樣,可以是遞歸也可以是dp動態規劃,只要能枚舉出來都可以。代碼如下:
#include<bits/stdc++.h>
using namespace std;
int res(int m, int n){
if(m < n){
return 0; //無鞋可借
}
if(n == 0){
return 1;//都有鞋穿了
}
return res(m - 1, n) + res(m, n - 1);
}
int main() {
int m, n;
cin >> m >> n;
int r = res(m, n);
cout << r;
return 0;
}
該筆者方法多樣,值得借鑑 https://blog.csdn.net/qq_39825375/article/details/84949835