poj1664放蘋果 遞迴

2021-08-21 19:08:19 字數 1206 閱讀 7137

放蘋果

time limit:1000ms

memory limit:10000k

total submissions:37040

accepted:22806

description

把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?(用k表示)5,1,1和1,5,1 是同一種分法。

input

第一行是測試資料的數目t(0 <= t <= 20)。以下每行均包含二個整數m和n,以空格分開。1<=m,n<=10。

output

對輸入的每組資料m和n,用一行輸出相應的k。

sample input

1

7 3

sample output

8
source

lwx@poj

因為1,2和2,1一樣,暫時假設

第i個盤子的東西》=第i+1個盤子

的東西。則有

1.如果m=0,就只有一種方法(不放);如果n=1,也只有一種(全部放在乙個盤子裡)。

2.如果n>m,就一定會有m-n個盤子不放蘋果,所有那些多出來的盤子可以不考慮,直接求m個盤子有多少種方法

3.除了上面兩種情況,m個蘋果,n個盤子有兩種方法:最後乙個盤子放or不放 ;1.最後乙個盤子放的話,前n-1一定也放了,暫且在第n個盤子放乙個,那麼方法數就等於

solve(m-1,n);

2.最後乙個不放,則方法數為

f(m,n-1)

#include #include #include typedef long long ll;

using namespace std;

const int maxn=11;

ll solve(int m,int n)

int main()

return 0;

}

poj1664放蘋果 遞迴

放蘋果time limit 1000ms memory limit 10000k total submissions 23149 accepted 14694 description 把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用k表示 5,1,1和1,5,1...

poj 1664 放蘋果(遞迴)

題目 將m個蘋果放入n個籃子中,允許有籃子空著,請問一 共有幾種放法?注意 不能出現重複的放法 輸入 第一行輸入需要測試的次數t,0 t 20。第二行輸入蘋果的數量m和籃子的數量n,1 m,n 10。輸出 輸出一共有幾種放法。試例 input 1 7 3 output 8分析 首先,蘋果和籃子的關係...

POJ1664 放蘋果(遞迴)

description 把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用k表示 5,1,1和1,5,1 是同一種分法。input 第一行是測試資料的數目t 0 t 20 以下每行均包含二個整數m和n,以空格分開。1 m,n 10。output 對輸入的每組資料m...