【发布时间】:2020-08-08 01:23:08
【问题描述】:
我有问题要解决,我被卡住了,我不知道如何开始。
假设我有 R 个孩子和 S 个糖果。我想在孩子之间分配糖果。每个孩子可以获得 0、1、2、3 或 4 个糖果。如何找到这种划分的所有可能性?
#include <iostream>
using namespace std;
void solve(int r, int s) {
if (s == 0)
{
cout << "no more candies" << endl;
return;
}
if (r == 0)
{
cout << "last child" << endl;
return;
}
for (int j = 0; j < 4 && j <= s; ++j)
{
cout << "r: " << r << " j: " << j << endl;
solve(r-1, s - j);
}
}
int main () {
int r, s;
cin >> r >> s;
solve(r, s);
return 0;
}
现在我有这样的东西,我在输出中看到我在这里有解决方案,但我不知道如何抓取所有可能性并将其存储到例如向量中。
【问题讨论】:
-
你应该首先编写程序来读取输入。
标签: c++ algorithm combinations