Submission
Status:
[PPP-SSSSSSSSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: Fifaxmb
Problemset: เกาะที่ใหญ่ที่สุด
Language: cpp
Time: 0.002 second
Submitted On: 2026-02-21 11:38:05
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(0);cin.tie(0);
int n,m;
cin >> n >> m;
vector<string> g(n);
for(int i =0;i < n;i++) cin >>g[i];
vector<vector<bool>> vis(n,vector<bool>(m,0));
int dx[4] = {1,-1,0,0};
int dy[4] = {0,0,1,-1};
int ans = INT_MIN;
for(int i =0;i< n;i++){
for(int j =0;j < m;j++){
if(g[i][j] == '1' && !vis[i][j]){
queue<pair<int,int>> q;
q.push({i,j});
vis[i][j] = 1;
int cnt = 1;
while(!q.empty()){
auto[x,y] = q.front();
q.pop();
for(int d =0;d < 4;d++){
int xx = x + dx[d];
int yy = y + dy[d];
if(xx < 0 || yy < 0 || xx >= n||yy >= m) continue;
if(vis[xx][yy]) continue;
if(g[xx][yy] == '0') continue;
vis[xx][yy] = 1;
q.push({xx,yy});
cnt++;
}
}
ans = max(ans,cnt);
}
}
}
cout << ans;
}