一生一世陪你


私信TA

用户名:wodeshijie

访问量:22033

签 名:

我要好好地写代码..........

等  级
排  名 423
经  验 4775
参赛次数 1
文章发表 19
年  龄 10
在职情况 学生
学  校 河南农业大学
专  业

  自我简介:

我就是我,可能不是太好,但是我就是我,谁也不能取代........

问题描述:
        就是三家的9个小孩子在一起跑步,没有跑的相同的排名的,跑第一名的得九分,第二名的得到
        八分,以此类推,并且排名没有相邻着的,就是第一名是王家的,第二名是张家的话,第三名就
        不能是张家的了,现在已知李家第一,王家第二,各个家族的总得分是相同的,问最后一名的小
        孩子是哪个家族的........
        
 简单思路:
         这个题我们可以边推理边想思路,首先
                                          李家已经得了第一名(9分)
                                          王家得了第二名(8分)
         很明显的是九个孩子一共有45分,而三个家族的得分是相同的,那么每个家族应该得到了15分,
         李家已经得到了9分了,所以第三名(7分)一定不是李家的,而王家不可能连续的排名,所以
         第三名一定是张家(7分)的
         那么第四名(6分)一定不会是张家的了,所以张家的第二名的孩子只可能得到4分或者5分
         而王家和李家的第二名都可能得到4分,5分,6分
         故而我们可以建立一个二维数组: 0     1      2
                                     张 7    4||5
                                     王 8   4||5||6
                                     李 9   4||5||6
           所以就可以定义三个变量i.j.k分别代表的是张家第二名的分数,王家第二名的分数,李家第二名
           的分数
           而张家、王家、李家的第三名的得分我们可以用15减去他们前两名的得分,然后我们就可以得到
           他们三家的第三名的得分了,但是他们三家的第二名的得分都不相同,第三名的得分也都是不相
           同的,所以大致的思路就是如此了。
           
           
           
代码如下:
                public class Lab1153 {
            public static void main(String[] args) {
                int array[][]=new int[3][3];
                array[0][0]=7;
                array[1][0]=8;
                array[2][0]=9;
                int i,j,k;
                for(i=4;i<6;i++)
                    for(j=4;j<7;j++)
                        for(k=4;k<7;k++)
                        {
                            if((i!=j&&i!=k&&j!=k)&&(15-7-i)!=(15-8-j)&&(15-7-i)!=(15-9-k)&&(15-8-j)!=(15-9-k))
                            {
                                array[0][1]=i;array[0][2]=15-7-i;
                                array[1][1]=j;array[1][2]=15-8-j;
                                array[2][1]=k;array[2][2]=15-9-k;
                            }
                        }
                for(int m=0;m<array.length;m++)
                    for(int n=0;n<array[m].length;n++)
                        if(array[m][n]==1)
                        {
                            if(m==0)
                                System.out.println("Z");
                            else if(m==1)
                                System.out.println("W");
                            else
                                System.out.println("L");
                        }
            }
}




 

0.0分

7 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区