POJ 1664放蘋果題解

2021-08-08 20:42:21 字數 376 閱讀 9584

poj 1664 放蘋果

看到這一題,第一眼就感覺是排列組合的問題。想起了高中老師給總結的分組問題,然後就陷入了死迴圈。看了討論區,才明白,這只是一道很簡單的遞推題~

我們的關注點是蘋果數最少的盤子裡放了幾個蘋果,顯然,有兩種情況:

1,最少的盤子是空的,即0個蘋果,那麼此時,就相當於m個蘋果放到n-1個籃子裡

2,最少的盤子不是空的,假設有c個蘋果,那麼就可以先把所有盤子裡放c個,剩下的m-n*c個蘋果放到剩下的n-1個盤子裡。懶得統計這個c是多少了,就可以直接用1來算,大不了減c次嘛~

所以,核心**是:

int solve(int m, int n)//m個蘋果放到n個籃子裡~

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 ...

poj 1664 放蘋果 遞推

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