Submission
Status:
PPPPPPPPPPP
Score: 100
User: Monasm
Problemset: ตั้งฐานทัพ
Language: cpp
Time: 0.019 second
Submitted On: 2024-10-17 15:14:28
#include <bits/stdc++.h>
int gx[] = {0,0,1,-1,1,-1,1,-1};
int gy[] = {1,-1,0,0,1,-1,-1,1};
#define pii pair<int,int>
using namespace std;
int main(){
int n,m;cin >> m >>n;
vector<string> adj;
for(int i=0;i<n;i++){
string s;cin >> s;
adj.push_back(s);
}
int ans = 0;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(adj[i][j]=='.'){
queue<pii> q;
q.push({i,j});
int count = 1;
while(!q.empty()){
int x = q.front().first;
int y = q.front().second;
adj[x][y] = '*';
q.pop();
for(int k=0;k<8;k++){
int nx = x+gx[k];
int ny = y+gy[k];
if(0<=nx&&nx<n&&0<=ny&&y<m&&adj[nx][ny] == '.'){
q.push({nx,ny});
adj[nx][ny] = '*';
count++;
}
}
}
ans = max(count,ans);
}
}
}
cout<<ans;
}