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)); } }