zoukankan      html  css  js  c++  java
  • 2014年去哪儿网笔试题--一个10*10的矩阵(可以理解为棋盘),随时生成一组数据填入矩阵,任何一个位置的数字除4进行计算,按余数着色...

    一个10*10的矩阵(可以理解为棋盘),随时生成一组数据填入矩阵,任何一个位置的数字除4进行计算,按余数着色,余数为0着色为red,1为blue,2为green,3为black,可以理解为生成4中颜色的棋子放入棋盘,如果存在其中同色五星连珠的情况(规则通五子棋),找出任意一组,输出5个棋子的位置下标值。

    只是用最笨的方法实现一下:

    public class FiveColor {
        
        public void test(){
            int a[][]=new int[10][10];
            for(int i=0;i<10;i++)
                for(int j=0;j<10;j++)
                    a[i][j]=(int)((Math.random())*4);
            System.out.println("初始化填充数组:");
            for(int i=0;i<10;i++)
            {
                for(int j=0;j<10;j++)
                    System.out.print(a[i][j]+" ");
                System.out.print("
    ");
            }
            for(int i=0;i<10;i++)
                for(int j=0;j<10;j++){
                    if(j+4<10&&a[i][j]==a[i][j+1]&&a[i][j]==a[i][j+2]&&a[i][j]==a[i][j+3]&&a[i][j]==a[i][j+4])
                    {
                        System.out.println("横向五子:");
                        System.out.print("["+i+"]["+j+"]  ");
                        System.out.print("["+i+"]["+(j+1)+"]  ");
                        System.out.print("["+i+"]["+(j+2)+"]  ");
                        System.out.print("["+i+"]["+(j+3)+"]  ");
                        System.out.print("["+i+"]["+(j+4)+"]  
    ");
                    }
                   if(i+4<10&&a[i][j]==a[i+1][j]&&a[i][j]==a[i+2][j]&&a[i][j]==a[i+3][j]&&a[i+4][j]==a[i][j])
                    {
                        System.out.println("纵向五子:");
                        System.out.print("["+i+"]["+j+"]  ");
                        System.out.print("["+(i+1)+"]["+j+"]  ");
                        System.out.print("["+(i+2)+"]["+j+"]  ");
                        System.out.print("["+(i+3)+"]["+j+"]  ");
                        System.out.print("["+(i+4)+"]["+j+"]  
    ");
                    }
                   if(i-4>-1&&j+4<10&&a[i][j]==a[i-1][j+1]&&a[i][j]==a[i-2][j+2]&&a[i][j]==a[i-3][j+3]&&a[i-4][j+4]==a[i][j])
                   {
                       System.out.println("正斜五子:");
                       System.out.print("["+i+"]["+j+"]  ");
                       System.out.print("["+(i-1)+"]["+(j+1)+"]  ");
                       System.out.print("["+(i-2)+"]["+(j+2)+"]  ");
                       System.out.print("["+(i-3)+"]["+(j+3)+"]  ");
                       System.out.print("["+(i-4)+"]["+(j+4)+"]  
    ");
                   }
                   if(i+4<10&&j+4<10&&a[i][j]==a[i+1][j+1]&&a[i][j]==a[i+2][j+2]&&a[i][j]==a[i+3][j+3]&&a[i+4][j+4]==a[i][j])
                   {
                       System.out.println("反斜五子:");
                       System.out.print("["+i+"]["+j+"]  ");
                       System.out.print("["+(i+1)+"]["+(j+1)+"]  ");
                       System.out.print("["+(i+2)+"]["+(j+2)+"]  ");
                       System.out.print("["+(i+3)+"]["+(j+3)+"]  ");
                       System.out.print("["+(i+4)+"]["+(j+4)+"]  
    ");
                   }
               
               
                        
                }
                              
            
        }
        
        public static void main(String[] args)
        {
            FiveColor fc=new FiveColor();
            fc.test();
            
        }
    
    }
  • 相关阅读:
    性能测试通过几种方式造数据
    linux 下shell中if的“-e,-d,-f”的用法
    JVM系列二:GC策略&内存申请、对象衰老
    如何使用 opencv 加载 darknet yolo 预训练模型?
    libtorch 哪些函数比较常用?
    如何使用 libtorch 实现 VGG16 网络?
    如何使用 libtorch 实现 AlexNet 网络?
    如何使用 libtorch 实现 LeNet 网络?
    如何在 windows 配置 libtorch c++ 前端库?
    window 如何枚举设备并禁用该设备和启用该设备?如何注册设备热拔插消息通知?
  • 原文地址:https://www.cnblogs.com/sunrunzhi/p/3958110.html
Copyright © 2011-2022 走看看