Submission

Status:

[PPPPPPPPPPPPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Test

Problemset: เกาะที่ใหญ่ที่สุด

Language: cpp

Time: 0.005 second

Submitted On: 2026-03-04 17:15:28

#include <bits/stdc++.h>
using namespace std;
int n,m;
int dfs(int i,int j,vector<vector<char>> &v){
    if(i>=n || i<0 || j>=m || j<0) return 0;
    if(v[i][j]=='0') return 0;
    v[i][j]='0';
    int area = 1;
    area+=dfs(i+1,j,v);
    area+=dfs(i-1,j,v);
    area+=dfs(i,j+1,v);
    area+=dfs(i,j-1,v);
    return area;
}


int main(){
    cin >> n >> m;
    vector<vector<char>> v(n,vector<char>(m,'0'));
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            cin >> v[i][j];
        }
    }
    int mx=0;
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            if(v[i][j]=='1'){
                mx = max(mx,dfs(i,j,v));
            }
        }
    }
    cout << mx;
}