Submission
Status:
[PPPPPPPPxSSSSSSSSSSSSSSSS]
Score: 0
User: achinhchin
Problemset: เกาะที่ใหญ่ที่สุด
Language: cpp
Time: 0.002 second
Submitted On: 2025-04-01 18:37:55
#include<iostream>
#include<queue>
#include <utility>
#define f first
#define s second
using namespace std;
typedef long long l;
using pl=pair<l,l>;
l n,m,d[][2]={{1,0},{0,1},{-1,0},{0,-1}},i,j,mx,tm,a,b;
queue<pl> B;
pl t;
bool A[171][171];
char ti;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
cin>>n>>m;for(i=1;i<=n;i++)for(j=1;j<=m;j++)cin>>ti,A[i][j]=ti=='1';
for(i=1;i<=n;i++)for(j=1;j<=m;j++)if(A[i][j]){
tm=0,A[i][j]=0,B.push(make_pair(i,j));while(!B.empty()){
tm++,t=B.front(),B.pop();
for(auto k:d){
a=t.f+k[0],b=t.s+k[1];
if(A[a][b])B.push(make_pair(a,b)),A[a][b]=0;
}
}mx=max(mx,tm);
}cout<<mx;
}