poj 1664 放蘋果(遞迴)

2021-08-08 19:53:34 字數 754 閱讀 8620

題目: 將m個蘋果放入n個籃子中,允許有籃子空著,請問一 共有幾種放法?(注意:不能出現重複的放法)

輸入: 第一行輸入需要測試的次數t, 0<=t<=20。第二行輸入蘋果的數量m和籃子的數量n,1<=m,n<=10。

輸出: 輸出一共有幾種放法。

試例: input:

1 7 3

output:

8

分析:   首先,蘋果和籃子的關係一共有三種,m>n, mm=n.  當m>n時:蘋果放進籃子有兩種情況,有空籃子和沒有空籃 子。  有空籃子時,可以先規定有乙個空籃子,則蘋果的放法為placing(m,n-1),依次類推,就可得出該情況下共有幾種 放法。    沒有空籃子時,每個籃子至少有乙個蘋果,所以此時的放法為placing(m-n,n),即可得出該情況下有多少種放法。

mm=n時: 此時也有兩種情況,每個籃子裡面都有乙個蘋果和至少有乙個籃子時空的,所以此時的放法為placing(m,n-1)+1;

#include

using

namespace

std;

int placing(int m,int n) //計算共有幾種放法

else

if(m>n)//當m>n時

else

if(mreturn placing(n,n);//m}

else

if(m==n)

}int main()

poj1664放蘋果 遞迴

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

POJ1664 放蘋果(遞迴)

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

poj1664放蘋果 遞迴

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