POJ1644 放蘋果 遞迴

2021-08-09 05:28:05 字數 1005 閱讀 7746

放蘋果

time limit:1000ms

memory limit:10000k

total submissions:34897

accepted:21600

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

題目大意:

中文題面

思路:

設f(m,n)為m個蘋果放在n個盤子裡面的放法數;

1.若n>m,盤子數比蘋果數多的時候,多幾個盤子是沒有意義的,所以f(m,n)=f(m,m);

2.若n<=m,蘋果數比盤子數多的時候又分為

(1).有盤子是空著的(>=1) 這時空幾個盤子對結果沒有影響,所以f(m,n)=f(m,n-1)知道沒有盤子空著

(2).每個盤子都至少有乙個蘋果,那麼每個盤子都減去乙個蘋果對結果也沒有影響,所以f(m,n)=f(m-n,n);

**如下:

#include#include#includeusing namespace std;

int f(int m,int n)

int main()

}

POJ 1644 放蘋果 遞推 遞迴

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

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