Huy Nhảy

Xem PDF

Điểm: 500 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

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

Bình luận

Không có bình luận nào.