#include <iostream> #include <iomanip> #include <cmath> #include <string> #include <cstring> using namespace std; int w,h,ph[1002][82],q1[80004],q2[80004],f,r,s,maxs=0; char ch; int main() { cin>>w>>h; for (int i=1;i<=h;i++) for (int j=1;j<=w;j++) {cin>>ch; if (ch=='*'){ph[i][j]=1;}} for (int i=1;i<=h;i++) for (int j=1;j<=w;j++) { if (ph[i][j]==1) { r=1; q1[r]=i; q2[r]=j; f=0; s=0; while (f<=r) { f++; s++; ph[q1[f]][q2[f]]=0; if (ph[q1[f]-1][q2[f]]==1) {r++; q1[r]=q1[f]-1; q2[r]=q2[f]; ph[q1[f]-1][q2[f]]=0;} if (ph[q1[f]][q2[f]-1]==1) {r++; q1[r]=q1[f]; q2[r]=q2[f]-1; ph[q1[f]][q2[f]-1]=0;} if (ph[q1[f]][q2[f]+1]==1) {r++; q1[r]=q1[f]; q2[r]=q2[f]+1; ph[q1[f]][q2[f]+1]=0;} if (ph[q1[f]+1][q2[f]]==1) {r++; q1[r]=q1[f]+1; q2[r]=q2[f]; ph[q1[f]+1][q2[f]]=0;} } // for (int i=1;i<=20;i++) cout<<setw(3)<<q1[i];cout<<endl; // for (int i=1;i<=20;i++) cout<<setw(3)<<q2[i];cout<<endl; if (s>maxs) maxs=s; } } if (maxs>0) maxs--; cout<<maxs<<endl; // system ("pause"); return 0; } /************************************************************** Problem: 2113 User: admin Language: C++ Result: Accepted Time:62 ms Memory:3024 kb ****************************************************************/