解题思路:将名次等价于分数,每家15分,9、8已经固定,7个数分为2、2、3组然后遍历

注意事项:如下

参考代码:

#include<iostream>

using namespace std;

    int main()

    {

      int a[3][3] = { 0 };               //开个二维数组存储分数,a[0]、a[1]、a[2]分别代表一家;

      a[0][0] = 9, a[1][0] = 8;

      for(int i=1;i<8;i++)

        for (int j = i + 2; j < 8; j++)            //j=i+2保证一家内不相邻

        {

          a[0][1] = i;

          a[0][2] = j;

          for(int k=1;k<7;k++)

          for (int m = k+2; m < 7; m++)            //因为a[1]家有了8,所以最多到6;

             {

               if (k == i || k == j || m == i || m == j)

                continue;

              else

                {

                   a[1][1] = k;

                  a[1][2] = m;

                }

               if (a[0][0] + a[0][1] + a[0][2] == 15 && i + j + k + m == 13)             //每家之和为15;

               {

                    for(int w=0;w<3;w++)

                    for (int z = 0; z < 3; z++)

                       if (a[w][z] == 1)

                             {

                               if (w == 0)

                                  cout << "L";

                               else if (w == 1)

                                  cout << "W";

                               else                             //没查询到1表示在a[2]中,程序并未录入;

                               cout << "Z";

                              }

                }

            }

     }

return 0;

}


点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论