Submission
Status:
[PPPP-SSSSSSSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: AugusEiEi
Problemset: เกาะที่ใหญ่ที่สุด
Language: cpp
Time: 0.002 second
Submitted On: 2026-03-20 22:50:56
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<string>maps;
int n,m;
int bfs(int i,int j,int val){
queue<pair<int,int>>q;
q.emplace(i,j);
while(!q.empty()){
auto [x,y]=q.front();
val++;
q.pop();
maps[x][y]='0';
if(x+1<n && maps[x+1][y]=='1') q.emplace(x+1,y);
if(x-1>=0 && maps[x-1][y]=='1') q.emplace(x-1,y);
if(y-1>=0 && maps[x][y-1]=='1') q.emplace(x,y-1);
if(y+1<m && maps[x][y+1]=='1') q.emplace(x,y+1);
}
return val;
}
int main(){
ios_base::sync_with_stdio(0); cin.tie(0);
cin>>n>>m;
int maxn=0;
for(int i=0;i<n;i++){
string a;cin>>a;
maps.push_back(a);
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(maps[i][j]=='1'){
maxn=max(maxn,bfs(i,j,0));
}
}
}
cout<<maxn;
}