Huy Nhảy

View as PDF



Problem types
Points: 500 (p) Time limit: 1.0s Memory limit: 512M Input: stdin Output: stdout

Bảo Huy là chú ếch đẹp trai nhất đầm sen ITK19. Đầm sen này được chia thành một bảng ô vuông gồm \(M\) hàng (đánh số từ trên xuống dưới) và \(N\) cột (đánh số từ trái qua phải). Ta quy ước ô nằm ở giao điểm của hàng \(i\) và cột \(j\) là ô \((i, j)\). Một số ô trong đầm có chứa một lá sen nổi (ký hiệu o) để Huy có thể nhảy lên, các ô còn lại có 100% bề mặt là nước (ký hiệu là .). Huy cần nhảy từ ô có ký tự S đến ô có ký tự T (hai ô này đều mặc định chứa một lá sen) theo quy tắc: ở mỗi bước anh chỉ có thể nhảy từ ô hiện tại đến một ô chứa lá sen trên cùng hàng hoặc cùng cột. CaiWinDao muốn bỏ đi một số lá sen trong đầm (trừ hai lá tại ST) để Huy không còn có thể nhảy từ S đến T nữa. Các bạn hãy lập trình giúp CaiWinDao xác định số lá sen ít nhất cần bỏ đi nhé!

Input

  • Dòng đầu hai số nguyên dương \(M\)\(N\) \((2\leq M, N\leq 100)\).

  • \(M\) dòng sau, mỗi dòng chứa \(N\) ký tự mô tả đầm sen.

Output

  • Một số nguyên là số lượng lá sen ít nhất cần bỏ để Huy không thể nhảy từ S đến T. Nếu không tìm được phương án thỏa mãn thì in ra \(-1\).

Example

Test 1

Input
3 3
S.o
.o.
o.T
Output
2
Note

CaiWinDao cần bỏ đi lá sen ở góc trên bên phải và góc dưới bên trái.

Test 1

Input
3 4
S...
.oo.
...T
Output
0

Test 1

Input
4 3
.S.
.o.
.o.
.T.
Output
-1

Test 1

Input
10 10
.o...o..o.
....o.....
....oo.oo.
..oooo..o.
....oo....
..o..o....
o..o....So
o....T....
....o.....
........oo
Output
5

Comments

There are no comments at the moment.