(每日一练c++)抽签
抽签
X星球要派出一个5人组成的观察团前往W星。
其中:
A国最多可以派出4人。
B国最多可以派出2人。
C国最多可以派出2人。
....
那么最终派往W星的观察团会有多少种国别的不同组合呢?
下面的程序解决了这个问题。
请你补全代码中空白的部分:
#include
using namespace std;#define N 6
#define M 5
#define BUF 1024void f(int a[], int k, int m, char b[])
{int i, j;if (k == N){b[M] = 0;if (m == 0)printf("%s\n", b);return;}for (i = 0; i <= a[k]; i++){for (j = 0; j < i; j++)b[M - m + j] = k + 'A';f(a, k + 1, m - i, b);}
}
int main()
{int a[N] = {4, 2, 2, 1, 1, 3};char b[BUF];f(a, 0, M, b);return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
