Submission
Status:
[PPP-SSSSSSSSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: Test
Problemset: เกาะที่ใหญ่ที่สุด
Language: cpp
Time: 0.002 second
Submitted On: 2026-03-04 17:13:45
#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=-1;
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;
}