事情是这样的,在某天吃鸡苟分又苟到了前五的时候,我趴在草丛里,突发奇想,有了如下的问题:

首先在和平精英里四人模式中,四人一组(当然可能有单人或者插进去的人机,这个不影响接下来的问题),每当剩下五队人的时候,游戏会提醒你已经胜利(即队伍进入了前五),

我突然好奇,在这个时间点,剩下队伍的人数分配是什么样的呢?有多少种情况?可否按照人数由多到少一一列举出来且不重复?

问:给出提醒时剩下的人数(5≤N≤20),列举出可能的情况(不可重复)

(假设个人战力相同,列举时尽可能按吃鸡的难易程度排列)

如提醒的时候,显示只剩下了7个人,那么情况数为2

输入:

7

输出:

3,1,1,1,1  

2,2,1,1,1

(显然其他队伍都是一个人的时候,三人队更占优势)

萌新吃鸡苟分时对人数分配的想法,求多解法,欢迎大佬们分享_ios 或者 萌新吃鸡苟分时对人数分配的想法,求多解法,欢迎大佬们分享_算法_02

枚举(好丑....)

#include<iostream>
#include<cstdio>
using namespace std;

int main()
{
int N;
while((cin>>N)&&N>=5&&N<=20)
{
int cnt=0;
for(int i=4;i>=1;i--){
for(int j=i;j>=1;j--){
for(int k=j;k>=1;k--){
for(int w=k;w>=1;w--){
for(int f=w;f>=1;f--){
if(i+j+k+w+f==N){
printf("第%d种: %d %d %d %d %d\n",++cnt,i,j,k,w,f);
}
}
}
}
}
}
printf("共有%d种\n",cnt);
}
printf("Wrong input.");
return 0;
}