Submission
Status:
[PPPPPPPPPPPPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: Nay-O
Problemset: เกาะที่ใหญ่ที่สุด
Language: cpp
Time: 0.003 second
Submitted On: 2026-02-24 09:45:49
#include<bits/stdc++.h>
using namespace std;
using pii = pair<int,int>;
int dx[]={1,0,-1,0};
int dy[]={0,1,0,-1};
int main(){
ios_base::sync_with_stdio(false); cin.tie(NULL);
int n,m; cin >>n>>m;
char arr[n][m];
for(int i = 0; i < n; i++){
for(int j = 0; j <m;j++){
cin >> arr[i][j];
}
}
queue<pii> q;
int ans = 0;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
if(arr[i][j]=='0') continue;
int c=0;
q.push({i,j});
while(!q.empty()){
int a = q.front().first,b = q.front().second;
q.pop();
if(arr[a][b]=='0') continue;
c++;
arr[a][b]='0';
for(int k = 0; k < 4; k++){
int yy = a+dy[k],xx=b+dx[k];
if(yy>n-1||yy<0||xx>m-1||xx<0||arr[yy][xx]=='0') continue;
q.push({yy,xx});
}
}
ans = max(ans,c);
}
}
cout << ans;
return 0;
}