岛屿面积问题

import javax.xml.transform.Result;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
    static int n,m;
    static int[][] graph;
    static int [][] visited;
    static int [] dx={1,0,-1,0};
    static int [] dy={0,1,0,-1};
    static int result;
    static int count;
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        n=in.nextInt();
        m=in.nextInt();
        graph=new int[n][m];
        visited=new int[n][m];
        for (int i = 0; i <n; i++) {
            for (int j=0;j<m;j++){
                graph[i][j]=in.nextInt();
            }
        }

        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                dfs(i,j);
                result= Math.max(result,count);
                count=0;
            }
        }
        System.out.println(result);
    }

    static void  dfs(int x,int y){
        if(graph[x][y]==0||visited[x][y]==1){
            return;
        }
        visited[x][y]=1;
        count++;
        for (int i = 0; i <4; i++) {
            int nextx=x+dx[i];
            int nexty=y+dy[i];
            if(nextx<0||nexty<0||nextx>=n||nexty>=m)
            {
                continue;
            }
            dfs(nextx,nexty);
        }
    }
}
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务