Submission
Status:
[PPPPPPPPPPPPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: nemuchannnUwU
Problemset: เกาะที่ใหญ่ที่สุด
Language: cpp
Time: 0.003 second
Submitted On: 2026-03-11 22:49:24
#include<bits/stdc++.h>
#define int long long
using namespace std;
int dx[]={1,-1,0,0};
int dy[]={0,0,1,-1};
const int N=172;
int n,m,cnt=0;
vector<vector<char>> grid(N,vector<char>(N));
void solve(int x,int y){
grid[x][y]='0';
cnt++;
for (int i=0;i<4;i++){
int nx=x+dx[i];
int ny=y+dy[i];
if (nx>=0&&nx<n&&ny>=0&&ny<m){
if (grid[nx][ny]=='1'){
solve(nx,ny);
}
}
}
}
main(){
cin.tie(nullptr)->sync_with_stdio(0);
cin >> n >> m;
for (int i=0;i<n;i++){
for (int j=0;j<m;j++){
cin >> grid[i][j];
}
}
int mx=0;
for (int i=0;i<n;i++){
for (int j=0;j<m;j++){
if (grid[i][j]=='1'){
cnt=0;
solve(i,j);
mx=max(mx,cnt);
}
}
}
cout << mx;
}