Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <queue>
- using namespace std;
- int n,m;
- long long zbr;
- char a[1007][1007];
- queue <int> qx;
- queue <int> qy;
- int bfs ()
- {
- int x,y;
- while (!qx.empty()){
- x=qx.front(); y=qy.front();
- a[x][y]='0';
- if (a[x-1][y]=='.') { qx.push (x-1); qy.push (y); a[x-1][y]='0';}
- if (a[x][y+1]=='.') { qx.push (x); qy.push (y+1); a[x][y+1]='0';}
- if (a[x+1][y]=='.') { qx.push (x+1); qy.push (y); a[x+1][y]='0';}
- if (a[x][y-1]=='.') { qx.push (x); qy.push (y-1); a[x][y-1]='0';}
- zbr++;
- qx.pop();qy.pop();
- }
- }
- int main ()
- {
- scanf ("%d%d",&n,&m);
- for (int i=0;i<n;i++){
- scanf ("%s",a[i]);
- }
- int x,y;
- long long max=0;
- for (int i=0;i<n;i++){
- for (int j=0;j<m;j++){
- if (a[i][j]=='.'){
- qx.push (i); qy.push (j);
- bfs();
- if (zbr>max) max=zbr;
- zbr=0;
- }
- }
- }
- printf ("%I64lld",max);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement