放蘋果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
1sample output7 3
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...