原题链接:C语言训练-谁家孩子跑最慢*
解题思路:
思路倒是很简单,我就是通过全排列在做一个筛选从而找出符合题目要求的排列。
注意事项:下面是代码,你们应该都能看得懂
参考代码:
#include<iostream> #include<algorithm> using namespace std; int main() { int s[7]={1,2,3,4,5,6,7}; int a[3],b[3],c[3];//李家为数组 a,王家为数组 b;张家为数组c; do { a[0]=9; b[0]=8; a[1]=s[0]; a[2]=s[1]; b[1]=s[2]; b[2]=s[3]; c[0]=s[4]; c[1]=s[5]; c[2]=s[6]; if((a[0]+a[1]+a[2]==15)&&(b[0]+b[1]+b[2]==15)) { sort(a,a+3); //sort是用来对数组进行从小到大排序 sort(b,b+3); sort(c,c+3); if((a[1]-a[0]!=1)&&(b[1]-b[0]!=1)&&(c[2]-c[1]!=1)&&(c[1]-c[0]!=1)) { if(a[0]==1) cout<<'L'; if(b[0]==1) cout<<'W'; if(c[0]==1) cout<<'Z'; return 0; } } }while(next_permutation(s,s+7)); }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复