poj 1664 放蘋果 遞推

2021-07-29 03:51:28 字數 759 閱讀 9187

放蘋果time limit:1000ms

memory limit:10000k

total submissions:33295

accepted:20648

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

code

/**先打表列舉,當n==0||m==0||n==1||m==1時 只有一種放法

f[i][j] 表示i個蘋果放入j個盤子中最多的放法

當m=n時 f[m][n]=f[m][n]+f[m-n][n]

**/#include #include#includeusing namespace std;

int main()

for(int i=2;i<=10;i++)

{for(int j=2;j<=10;j++)

{if(i

poj 1664 放蘋果 遞推

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

POJ 1664 放蘋果 遞推

dp i j 表示i個盤放j個蘋果的方案數,dp i j 可以由 dp i 1 j 和 dp i j i 遞推而來。當盤子的個數大於等於蘋果的個數 dp i 1 j i 1個盤子放j個蘋果,說明i個盤子裡最少有乙個盤子是空的 dp i j i i個盤子都放了蘋果,說明有j i個蘋果是隨便放置的 否則...

poj1664 放蘋果 acm解題報告 遞推

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