装盘子
时限:1000ms 内存限制:10000K 总时限:3000ms 描述: N人为了大快朵颐,行至云餐二楼,取了N个盘子,打了M个饺子。现欲将M个饺子装入N个盘子中,试问共有多少种不同的装法? 假设盘子足够大,并且盘子里可以什么都不放。注意像2 5 0和5 0 2之类的属于同一种放法。 输入: 两个整数M、N(1=< M,N <=100)以空格隔开。 输出: 单独一行输出共有几种装法。 输入样例: 7 3 输出样例: 8 #include <iostream> #include <fstream> using namespace std; int FindAll(int n, int m) { int *arrange = new int[(n + 1) * (m + 1)]; int temp; ofstream out("file.txt"); memset(arrange, 0x00, sizeof(int) * (m + 1) * (n + 1)); for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (i > j) arrange[i * (m + 1) + j] = arrange[i * (m + 1) + j - 1] + arrange[(i - j) * (m + 1) + j];