原题链接:C语言训练-委派任务*
解题思路:数据量不大,程序员没必要思考太多,我最爱把思考交给电脑了,电脑傻瓜式枚举法迅速得到答案!
中间循环给个死循环,让电脑不断思考,得到答案再跳出,
我们设置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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复