問(wèn)題描述
每年冬天,北大未名湖上都是滑冰的好地方。北大體育組準(zhǔn)備了許多冰鞋,可是人太多了,每天下午收工后,常常一雙冰鞋都不剩。
每天早上,租鞋窗口都會(huì)排起長(zhǎng)龍,假設(shè)有還鞋的m個(gè),有需要租鞋的n個(gè)?,F(xiàn)在的問(wèn)題是,這些人有多少種排法,可以避免出現(xiàn)體育組沒(méi)有冰鞋可租的尷尬場(chǎng)面。(兩個(gè)同樣需求的人(比如都是租鞋或都是還鞋)交換位置是同一種排法)
輸入格式
兩個(gè)整數(shù),表示m和n
輸出格式
一個(gè)整數(shù),表示隊(duì)伍的排法的方案數(shù)。
樣例輸入
3 2
樣例輸出
5
數(shù)據(jù)規(guī)模和約定
m,n∈[0,18]
問(wèn)題分析
tips: 此題就是dp問(wèn)題,找到狀態(tài)轉(zhuǎn)移方程即可.
#include<iostream>
#include<cstdio>
using namespace std;
int f(int m,int n){
if(m<n-1)
return 0;
if(m>0&&n==0)
return 1;
if(m==0&&n>1)
return 0;
if(m==0&&n==1)
return 1;
return f(m-1,n)+f(m,n-1);
}
int main()
{
int m,n;
cin>>m>>n;
int value = f(m-1,n);
cout<<value;
}