問題描述
每年冬天,北大未名湖上都是滑冰的好地方。北大體育組準備了許多冰鞋,可是人太多了,每天下午收工後,常常一雙冰鞋都不剩。
每天早上,租鞋視窗都會排起長龍,假設有還鞋的m個,有需要租鞋的n個。現在的問題是,這些人有多少種排法,可以避免出現體育組沒有冰鞋可租的尷尬場面。(兩個同樣需求的人(比如都是租鞋或都是還鞋)交換位置是同一種排法)
輸入格式
兩個整數,表示m和n
輸出格式
乙個整數,表示隊伍的排法的方案數。
樣例輸入
3 2
樣例輸出
5資料規模和約定
m,n∈[0,18]
#include"iostream"
using
namespace
std;
int digui(int m,int n)
if(n==0)
else
return digui(m-1,nxiang)+digui(m,n-1);//這是爬梯子遞迴,而不是深入!
}int main()
{ int m,n,sum;
cin>>m>>n;
sum=digui(m,n);
cout
詳細的分析
例如3 2一共有五種
分別為 (從右往左讀)
如圖,這也是為什麼判斷為0的條件式是m小於n,因為是爬樓梯的看待(用了學姐的總結)加了一點點我自己的補充!
演算法訓練 未名湖邊的煩惱
問題描述 每年冬天,北大未名湖上都是滑冰的好地方。北大體育組準備了許多冰鞋,可是人太多了,每天下午收工後,常常一雙冰鞋都不剩。每天早上,租鞋視窗都會排起長龍,假設有還鞋的m個,有需要租鞋的n個。現在的問題是,這些人有多少種排法,可以避免出現體育組沒有冰鞋可租的尷尬場面。兩個同樣需求的人 比如都是租鞋...
演算法訓練 未名湖邊的煩惱
演算法訓練 未名湖邊的煩惱 時間限制 1.0s 記憶體限制 256.0mb 問題描述 每年冬天,北大未名湖上都是滑冰的好地方。北大體育組準備了許多冰鞋,可是人太多了,每天下午收工後,常常一雙冰鞋都不剩。每天早上,租鞋視窗都會排起長龍,假設有還鞋的m個,有需要租鞋的n個。現在的問題是,這些人有多少種排...
演算法訓練 未名湖邊的煩惱
問題描述 每年冬天,北大未名湖上都是滑冰的好地方。北大體育組準備了許多冰鞋,可是人太多了,每天下午收工後,常常一雙冰鞋都不剩。每天早上,租鞋視窗都會排起長龍,假設有還鞋的m個,有需要租鞋的n個。現在的問題是,這些人有多少種排法,可以避免出現體育組沒有冰鞋可租的尷尬場面。兩個同樣需求的人 比如都是租鞋...