此題使用遞迴digui(m,n)
遞迴結束條件是:
蘋果個數m為0或1,只有一種放法,reutun 1;
盤子個數n為1,只有一種放法,reutun 1;
然後,m個蘋果,n個盤子時,可分為兩種情況:
一、m>n,則:
1、每個盤子放乙個蘋果,剩餘m-n個蘋果再放,即為digui(m-n,n);
2、空下乙個盤子,其餘的盤子放蘋果,即為digui(m,n-1);
二、m即可解決。
注:digui(m,n)這個函式指的是一種解決方法!且要把情況考慮完全!
附上源**:
#includeintdigui
(int m,
int n)
intmain
()return0;
}
百練1664 放蘋果
總時間限制 1000ms 記憶體限制 65536kb 描述 把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用k表示 5,1,1和1,5,1 是同一種分法。輸入第一行是測試資料的數目t 0 t 20 以下每行均包含二個整數m和n,以空格分開。1 m,n 10。輸出...
(經典) 放蘋果 P 1664
這個題,看似簡單,卻不好下手。得清楚地知道狀態轉移的情況 include include include include include include include include include include includeusing namespace std 放蘋果time limit ...
poj1664放蘋果 遞迴
放蘋果time limit 1000ms memory limit 10000k total submissions 23149 accepted 14694 description 把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用k表示 5,1,1和1,5,1...