Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<cmath>#include<cstring>using namespace std;char s[505][505];int ss[500][500];int n,m,flag[505][505];int n0,n1,m0,m1;int ai[4]={-1,0,1,0};int bi[4]={0,-1,0,1};void dfs(int a,int b){//cout<<a<<" "<<b<<"**"<<endl;flag[a][b]=1;ss[a][b]=1;n0=min(n0,a);n1=max(n1,a);m0=min(m0,b);m1=max(m1,b);for(int k=0;k<4;++k){int i=a+ai[k],j=b+bi[k];if(i>=0&&i<n&&j>=0&&j<m&&s[i][j]=='1'&&!flag[i][j])dfs(i,j);}}int main(){cin>>n>>m;for(int i=0;i<n;++i)cin>>s[i];