Cheng


私信TA

用户名:dotcpp0624588

访问量:182

签 名:

等  级
排  名 11752
经  验 1010
参赛次数 0
文章发表 4
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:数据量不大,程序员没必要思考太多,我最爱把思考交给电脑了,电脑傻瓜式枚举法迅速得到答案!

中间循环给个死循环,让电脑不断思考,得到答案再跳出,

我们设置MAX1,A,B,C,D,E,F变量,其中MAX代表去的人数,abcdef值0代表不去,1为去。设置当人数MAX满足达到条件跳脱循环,每次循环间隔100次,会降低条件要求,一开始要求去5人才跳,电脑枚举不出就循环了一堆,再减少条件,直到电脑可以枚举出就跳脱循环即可。
注意事项:

参考代码:

#include<stdio.h>
#include<stdlib.h>
int main(void) {
    srand(2);auto int i=0,A,B,C,D,E,F,MAX1;
    while(1==1) {
        A=rand()%2;B=rand()%2;C=rand()%2;D=rand()%2;E=rand()%2;F=rand()%(1+1+0);
        B=A==0?1:B;
        A=B==0?1:A;
        if(A+B+F<2) {continue;}
        if(B==0||C==0) {C=B=0;} else if(B==1||C==1) {C=B=1;}
        if(C==0&&D==0) {continue;}
        if(C==1&&D==1) {continue;}
        E=D==0?0:1;
        MAX1=A+B+C+D+E+F;
        if(i<=500){++i;}
        if(MAX1>=6-i%100) {break;}
    }
    if(A==1) {printf("A,");}
    if(B==1) {printf("B,");}
    if(C==1) {printf("C,");}
    if(D==1) {printf("D,");}
    if(E==1) {printf("E,");}
    if(F==1) {printf("F,");}
}


 

0.0分

2 人评分

  评论区

  • «
  • »