#include #include //run using namespace std; int a[101][101]; int main() { int n, m, i, j; char c; fscanf(stdin,"%d%d", &n, &m); for (i = 0; i < n; ++i) { fscanf(stdin,"\n%c", &c); if (c == '.') a[i][0] = 0; else a[i][0] = -1; for (j = 1; j < m; ++j) { fscanf(stdin,"%c", &c); if (c == '.') a[i][j] = 0; else a[i][j] = -1; } a[i][j] = -1; } for (j = 0; j <= m; ++j) a[i][j] = -1; a[0][0] = 1; queue b; queue d; b.push(0); d.push(0); while (!b.empty()) { i = b.front(); j = d.front(); b.pop(); d.pop(); if (a[i+1][j] == 0) { a[i+1][j] = a[i][j] + 1; b.push(i+1); d.push(j); } if (a[i][j+1] == 0) { a[i][j+1] = a[i][j] + 1; b.push(i); d.push(j+1); } } fprintf(stdout, "%d", a[i][j]); return 0; }