11656. Подорож по сітці


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Існує квадратна сітка \(H \times W\) з \(H\) горизонтальними рядками і \(W\) вертикальними стовпцями. Нехай (\(i, j\)) позначають квадрат в \(i\)-му рядку зверху і \(j\)-му стовпці зліва. Кожен квадрат описується символом \(C_{i, j}\), де \(C_{i, j}\) = '.' означає (\(i, j\)) є порожнім квадратом, а \(C_{i, j} =\) '#' означає (\(i, j\)) є стіною.

Степан почне ходити по цій сітці. Коли він на (\(i, j\)), він може перейти до (\(i, j + 1\)) або (\(i + 1, j\)). Однак він не може вийти з сітки або увійти в квадрат стіни. Він зупиниться, коли більше не буде площі, куди можна йти.

Починаючи з (1, 1), скільки квадратів може відвідати Степан, перш ніж зупиниться?

Формат вхідних даних

Перший рядок містить цілі числа \(H,W\) (\(1 \le H,W \le 100\))

Наступні  \(H\) рядків містять по \(W\) симсволів \(C_{i,j}\) (\(C_{i,j}=\)'.','#', \(C_{1,1}=\)'.')

Формат вихідних даних

У вихідний потік виведіть шукану кількість квадратів.

Примітка

До прикладу 1:

Наприклад, перейшовши \((1, 1) \rightarrow (2, 1) \rightarrow (2, 2) \rightarrow (3, 2)\), він може відвідати 4 квадрата. Він не може відвідати 5 або більше квадратів.

Приклад вхідних даних

3 4
.#..
..#.
..##

Приклад вихідних даних

4

Приклад вхідних даних

1 1
.

Приклад вихідних даних

1

Приклад вхідних даних

5 5
.....
.....
.....
.....
.....

Приклад вихідних даних

9

Коментарі

Ще немає коментарів.