题解 | #放苹果#

放苹果

https://www.nowcoder.com/practice/4f0c1e21010e4d849bde5297148e81d9

//二话不说直接回溯

#include <iostream>
#include <vector>
using namespace std;
int result = 0;
void backTracking(int n ,int m,int index) {
	//控制回溯的收集过程
  if (m == 0) {
		result++;
		return;
	}
	for (int i = index; i <= m; i++) {
		if (n == 0) continue;
		backTracking(n - 1, m - i,i);//回溯要减去已经选过的,盘子数也要减少
	}
}
int main() {
	int m, n;
	cin >> m >> n;
	backTracking(n, m,1);
	cout << result;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

10-13 13:49
南京大学 财务
饿魔:笑死我了,你简直是个天才
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务