poj 1664放蘋果(遞迴)

2022-05-03 15:12:19 字數 979 閱讀 2827

放蘋果

time limit:1000ms

memory limit:10000k

total submissions:37377

accepted:23016

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
對於m個蘋果,n個盤子f(m,n):

如果m如果m>n,那麼有兩種情況:一種有空盤子的情況,一種沒有空盤子的情況,兩種情況不重疊且加一起一定為情況總數。

第一種情況:m個蘋果放在n-1個盤子裡,因為至少有1個空盤子,即f(m,n-1)

第二種情況:每個盤子都至少有乙個蘋果,m-n個蘋果再放到n個盤子裡,即f(m-n,n)。

由上面兩種情況得到遞迴式f(m,n)=f(m,n-1)+f(m-n,n)。

#include#include

using

namespace

std;

const

int maxm=10000

;int m[maxm],n[maxm],k[maxm];//

m是蘋果樹,n是盤子數

n)int

main()

for(int i=1;i<=t;i++)//

一次性輸出

return0;

}

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...