我就做出一道题 其他都凉了,宿舍人又是唱歌又是放歌,还有洗衣服看电视的,根本弄不成。  气的肚子疼嘞! import java.util.Scanner; public class Main {     static boolean[][] boo;      static int m,n;     static int[][] zuowei;     static int count=0;     static int num=0;     static int max=0;     public static void main(String[] args) {         Scanner scanner=new Scanner(System.in);         String mn = scanner.nextLine();         String[] split = mn.split(",");         m=Integer.parseInt(split[0]);        n=Integer.parseInt(split[1]);         zuowei=new  int[m][n];         boo=new boolean[m][n];         for (int i = 0; i < m; i++) {             String nextLine = scanner.nextLine();             String[] line= nextLine.split(",");             for (int j = 0; j < line.length; j++) {                 zuowei[i][j]=Integer.parseInt(line[j]);             }                      }         for (int i = 0; i < zuowei.length; i++) {             for (int j = 0; j < zuowei[i].length; j++) {                 int findnext = findnext(i,j);                 count+=findnext;             }         }         System.out.println(count+","+max);     }     public  static int  findnext(int i,int j) {         if(zuowei[i][j]==1&&!boo[i][j]) {             boo[i][j]=true;             num++;             //上下             if(i!=m-1&&zuowei[i+1][j]==1&&!boo[i+1][j]) {                 findnext(i+1, j);             }                         if(i!=0&&zuowei[i-1][j]==1&&!boo[i-1][j]) {                 findnext(i-1, j);             }                 //左右             if(j!=n-1&&zuowei[i][j+1]==1&&!boo[i][j+1]) {                 findnext(i, j+1);             }                     if(j!=0&&zuowei[i][j-1]==1&&!boo[i][j-1]) {                 findnext(i, j-1);             }                 //斜的                        if(i!=0&&j!=0&&zuowei[i-1][j-1]==1&&!boo[i-1][j-1]) {                 findnext(i-1, j-1);             }             if(i!=0&&j!=n-1&&zuowei[i-1][j+1]==1&&!boo[i-1][j+1]) {                 findnext(i-1, j+1);             }             if(i!=m-1&&j!=n-1&&zuowei[i+1][j+1]==1&&!boo[i+1][j+1]) {                 findnext(i+1, j+1);             }             if(i!=m-1&&j!=0&&zuowei[i+1][j-1]==1&&!boo[i+1][j-1]) {                 findnext(i+1, j-1);             }         }else {             if(max<num) {                 max=num;             }             num=0;             boo[i][j]=true;             return 0;         }         return 1;     } }
点赞 评论

相关推荐

牛客网
牛客企业服务