Submission
Status:
[PPPPPPPPPPPPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: okazagiFragment
Problemset: เกาะที่ใหญ่ที่สุด
Language: cpp
Time: 0.003 second
Submitted On: 2026-03-20 21:37:28
#include <bits/stdc++.h>
using namespace std;
#define okazaki cin.tie(nullptr)->sync_with_stdio(0),cout.tie(0);
#define int long long
#define pii pair<int,int>
#define tii tuple<int,int,int>
int n,m,q;
signed main(void) {
okazaki;
cin>>n>>m;
char grid[n][m];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>grid[i][j];
}
}
int ans=0;
int dix[4]={-1,1,0,0};
int diy[4]={0,0,-1,1};
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(grid[i][j]=='1'){
int cnt=0;
queue<pii> q;
q.push({i,j});
//cout<<'*';
grid[i][j]='0';
while(!q.empty()){
auto[x,y]=q.front();
q.pop();
cnt++;
//cout<<cnt<<' ';
for(int i=0;i<4;i++){
int nx=x+dix[i];
int ny=y+diy[i];
if(nx>=n||ny>=m||nx<0||ny<0||grid[nx][ny]=='0'){
continue;
}
grid[nx][ny]='0';
q.push({nx,ny});
}
}
ans=max(ans,cnt);
}
}
}
cout<<ans;
}