放蘋果time limit:1000ms
memory limit:10000k
total submissions:31892
accepted:20055
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
解題:
設f(m,n)代表m個蘋果放在n個盤子裡的方案數,
討論的遞推結果為:
m=1 或n=1,那麼無論只有乙個蘋果還是乙個盤子,都只有一種方案,即放在任意乙個盤子裡或所有蘋果放在唯一
乙個盤子裡。 f(m,n)=1
mn, 放滿時,可以等同為先從m中取n個,分別放入n個盤子裡一盤子乙個,然後m-n蘋果放入n個盤子,如果不放
滿,那麼至少剩乙個空盤,等同f(m,n-1)
∴ f(m,n)=f(m-n,n)+f(m,n-1)
*/#include
#include
using namespace std;
int solve(int m,int n)
return 0;
}
poj1664 放蘋果 解題報告
描述 把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用k表示 5,1,1和1,5,1 是同一種分法。輸入第一行是測試資料的數目t 0 t 20 以下每行均包含二個整數m和n,以空格分開。1 m,n 10。輸出 對輸入的每組資料m和n,用一行輸出相應的k。樣例輸入...
POJ 1664 放蘋果 解題報告
這是一道求總方案數的dp,唯一的不同就是2,5這種放法和5,2是一樣的,於是這道題就變成了把整數n分成非負整數m份,有多少種分法,寫轉移方程式的時候要仔細思考思考。用s i j 表示用i個盤子放j個蘋果的不重複的總方案數。處理邊界 s 1 k 1 0 k m s 1 k 很顯然只有一種方法。s i ...
POJ1664放蘋果 解題報告
一道遞迴裸題。直接上 了 特別注意遞迴條件的判讀,一開始沒有考慮到盤子數為1的情況。只考慮蘋果為0了。include using namespace std int get res int m,int n if m n mreturn get res m,m else 如果水果多 get res m...