#include <stdio.h> #include <stdlib.h> int m, n; char a[100][100]; int b[100][100]; void Init(); void Lee(); int main() { int i, j, max = 0; char s[2]; scanf("%d%d", &n, &m); gets(s); for (i = 0; i < n; i++) gets(a[i]); Init(); for (i = 0; i < n; i++) for (j = 0; j < m; j++) { if ((a[i][j] == '.') && (b[i][j] == 0)) Lee(1, i, j); if (max < b[i][j]) max = b[i][j]; } printf("%d", max); return 0; } void Init() { int i, j; for (i = 0; i < n; i++) for (j = 0; j < m; j++) { b[i][j] = 0; } } void Lee(int l, int i, int j) { b[i][j] = l; if (j+1<m) if ((a[i][j+1] == '.') && (b[i][j+1] <= l)) Lee(l+1, i, j+1); if (i+1<n) if ((a[i+1][j] == '.') && (b[i+1][j] <= l)) Lee(l+1,i+1,j); }