放蘋果
問題描述:把m個同樣的蘋果放在n個同樣的盤子裡,
允許有的盤子空著不放,問有多少種不同的分法?(注:5,1,1和1,1,5是同一種分法)
/*遞迴解法(思考)
當n > m時 至少有n-m個盤子為空
分法數為m個蘋果放入m個盤子 solve(m, m)
當n <= m時
有兩種分法:
有盤子為空 solve(m, n-1)
沒有盤子為空 solve(m-n, n);
出口 m == 0 || n == 1 return 1; // 表示找到一種分法
*/
#include
#include
#include
#include
using namespace std;
intsolve
(int m,
int n)
intmain()
return0;
}
演算法競賽寶典 遞迴演算法
p1498 南蠻圖騰 include include include using namespace std int n char a 5 5 b 3000 10 3000 10 int main p1049 裝箱問題 include using namespace std int a 30 1 i...
演算法競賽寶典 分治演算法 花費
二分解決,學習了 includeusing namespace std int a 100000 10 int n 天數 int m 規定的分組數 判斷用當前的mid值能把天數n分成幾組 通過比較group與m的大小,對mid值進行優化 int binary int key return cnt i...
演算法競賽寶典 遞迴演算法 八皇后
八皇后問題,是乙個古老而著名的問題,是 回溯演算法 的典型案例。該問題是國際西洋棋棋手馬克斯 貝瑟爾於1848年提出 在8 8格的西洋棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行 同一列或同一斜線上,問有多少種擺法。高斯認為有76種方案。1854年在柏林的象棋雜誌上不同的作者發...