dp入門(放蘋果 POJ 1664)

2021-08-13 08:27:05 字數 677 閱讀 1259

把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

17 3

sample output

8ac**:

/*

這是一道dp題目。。。

dp[m][n]表示m個蘋果放進n個盤子的情況數

1) m=1時,dp[m][n]=1

2) n=1時,dp[m][n]=1

3) mn時,分為兩種情形,至少有乙個盤子不放蘋果dp[m][n-1];n個盤子都放蘋果,可以先

拿出n個蘋果每個盤子放乙個,剩下的m-n個蘋果放進n個盤子dp[m-n][n]

*/#includeusing namespace std;

const int maxn=20;

int dp[maxn][maxn];

int m,n;

void init()

}}int main()

return 0;

}

POJ 1664 放蘋果 基礎組合dp

放蘋果 time limit 1000ms memory limit 10000k total submissions 28626 accepted 18106 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 放蘋果 遞推

解題思路 我們不妨令f m,n 表示m個蘋果放到n個盤子裡有多少種放法,下面對不同的情況給予討論 1 當盤子數為1的時候,只有一種放法就是把所有蘋果放到乙個盤子裡。2 當蘋果數為0的時候,也只有一種放法。3 當m n時,也分兩種情況討論,一種是至少有乙個盤子裡不放蘋果,這樣子就相當於f m,n 1 ...