m个苹果放入n个盘子

//放苹果
int main() {
	int apple, plate;
	cin >> apple >> plate;
	if (apple < 0 || apple > 10 || plate < 1 || plate > 10) {
		cout << -1 << endl;
		return -1;
	}
	vector<vector<int> > ivec(11, vector<int>(11, 0));
	for (int i = 0; i < 11; i++) {
		ivec[0][i] = 1;
		ivec[i][1] = 1;
	}
	for (int i = 1; i <= 10; ++i) {
		for (int j = 1; j <= 10; ++j) {
			if (j <= i)
				ivec[i][j] = ivec[i][j - 1] + ivec[i - j][j];
			else
				ivec[i][j] = ivec[i][i];
		}
	}

	cout << ivec[apple][plate] << endl;
	return 0;
}
文章导航