poj 放蘋果 C語言 遞迴)

2021-09-30 19:14:05 字數 862 閱讀 5492

原題鏈結

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 input1

7 3sample output

8用遞迴思想,縮小範圍,把這個問題分解成多個子問題:

子問題一:

當蘋果數目小於盤子數目時(即n>=m),無論怎麼放都會有盤子是空的,最多使用n個盤子(即每個盤子放乙個蘋果),縮小範圍,把問題轉化成把m個蘋果放到m個盤子中;

子問題二:

當蘋果數目大於盤子數目時(即n<=m),此時又存在兩種情況:有盤子是空的和沒有空盤子;

so:**子問題二的子問題一:**把有盤子是空的縮小範圍至有乙個盤子是空,這就轉化成了把m個蘋果放到n-1個盤子中;

**子問題二的子問題二:**沒有空盤子,也就是每個盤子至少有乙個蘋果,這也就轉化成了把m-n個蘋果放到n個盤子裡。

**實現:

#includeint f(int m,int n) 

int main(void)

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 放蘋果(遞迴)

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

poj 1664 放蘋果(遞迴)

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