Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<string>using namespace std;char s[505][505];int q[505][505] = {0};int n,m;int xx=10000,yy=10000;int dx=-1,dy=-1;void dfs(int a,int b){if( a<0 || b<0 || a >= n || b >= m || s[a][b] != '1' ||q[a][b]==1) {return;}s[a][b] = '.';q[a][b] = 1;if(b<yy) yy = b;if(a<xx) xx = a;if(a>dx) dx = a;if(b>dy) dy = b;dfs(a+1,b);dfs(a-1,b);dfs(a,b+1);dfs(a,b-1);}int main(){scanf("%d %d",&n,&m);for(int i=0;i<n;i++){