X星球要派出一个5人组成的观察团前往W星。
其中:
A国最多可以派出4人。
B国最多可以派出2人。
C国最多可以派出2人。
D国最多可以派出1人。
E国最多可以派出1人。
F国最多可以派出3人。
那么最终派往W星的观察团会有多少种国别的不同组合呢?
#include<iostream>
#include<string.h>
#include<algorithm>
#include<stdlib.h>
#include<stdio.h>
#include<string>
using namespace std;
int main()
{
int a[]={4,2,2,1,1,3};
void fun(int[],int,int,string);
fun(a,0,5,"");
return 0;
}
void fun(int a[],int k,int n,string s)
{
if(k==6)
{
if(n==0)
cout<<s<<'\n';
return;
}
string s2=s;
for(int i=0;i<=a[k];i++)
{
fun(a,k+1,n-i,s2);
s2+=(char)(k+'A');
}
}
评论区