java 作业题5

 

 

 

package homwk;
import java.util.Scanner;
public class hmwk7 {

    public static boolean judge(int[][] b){
        for(int i=0;i<b.length;i++){
            for(int j=0;j<b[i].length;j++){
                //向右是否有连续四个数相等
                if(j<=b[i].length-4){           
                    boolean flag=true;            
                    for(int c=j+1;c<=j+3;c++){  
                        if(b[i][j]!=b[i][c]){
                            flag=false;
                            break;
                        }
                    }
                    if(flag){                  
                        return true;
                    }
                }
                //向下是否有连续四个数相等
                if(i<=b.length-4){               
                    boolean flag=true;
                    for(int r=i+1;r<=i+3;r++){
                        if(b[i][j]!=b[r][j]){     
                            flag=false;
                            break;
                        }
                    }
                    if(flag){
                        return true;
                    }
                }
                //向右下是否有连续四个数相等
                if(i<=b.length-4&&j<=b[0].length-4){
                    boolean flag=true;
                    for(int r=i+1,c=j+1;r<=i+3;r++,c++){
                        if(b[i][j]!=b[r][c]){
                            flag=false;
                            break;
                        }
                    }
                    if(flag){
                        return true;
                    }
                }
                //向右上是否有连续四个数相等
                if(i>=3&&j<=b[0].length-4){
                    boolean flag=true;
                    for(int r=i-1,c=j+1;c<=j+3;r--,c++){
                        if(b[i][j]!=b[r][c]){
                            flag=false;
                            break;
                        }
                    }
                    if(flag){
                        return true;
                    }
                }
            }
        }
        return false;//四个方向都没有连续的
    }
    //也可以dfs


    
    public static void main(String[] args) {
        @SuppressWarnings("resource")
        Scanner input = new Scanner(System.in);
        int row = input.nextInt();
        int col = input.nextInt();        
        int a[][] = new int[row][col];
         for(int i = 0;i<a.length;i++)
            {
                for(int j = 0;j<a[i].length;j++)
                {
                    a[i][j] = input.nextInt();  
                }
            }
          System.out.println( judge(a));
        
        
        
        
        
        
        
        
        
        
        
        
        
    }

}

 

posted @ 2020-12-20 10:09  然终酒肆  阅读(69)  评论(0编辑  收藏  举报