Submission
Status:
[PPPPPPPPPPPPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: Mano
Problemset: เกาะที่ใหญ่ที่สุด
Language: cpp
Time: 0.005 second
Submitted On: 2026-03-12 23:14:08
#include<bits/stdc++.h>
using namespace std;
int dfs(vector<vector<int>> &arr, int i,int j,int x, int y){
if(i<0 || i>=x || j<0 || j>=y || arr[i][j]==0){
return 0;
}
arr[i][j]=0;
return 1
+ dfs(arr,i+1,j,x,y)
+ dfs(arr,i-1,j,x,y)
+ dfs(arr,i,j+1,x,y)
+ dfs(arr,i,j-1,x,y);
}
int main(){
int x,y;
cin>>x>>y;
vector<vector<int>> arr(x, vector<int>(y));
for(int i=0;i<x;i++){
string s;
cin>>s;
for(int j=0;j<y;j++){
arr[i][j] = s[j] - '0';
}
}
int maxx = 0;
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
if(arr[i][j]==1){
maxx=max(maxx,dfs(arr,i,j,x,y));
}
}
}
cout<<maxx;
}