超級貓貓男駕駛著超級貓貓號,目標是尋找下一顆地球。
在超級貓貓號上面儲存了許多航行路線的歷史資料。
但是由於超級貓貓號上面的硬碟有一點故障,因此許多航行路線的資料都被毀損了。
現在超級貓貓男想要你寫一個程式來驗證航行路線有沒有被損毀。
第一行為整數n (n>=3),之後輸入n行長度為n的字串代表航行路線。
航行路線由 n*n 的二維陣列組成,其中字母S代表該航行路線的起點,字母E代表該航行路線的終點,字母X代表不可以經過的區域。
S以及E保證出現且數量各只會有一個。
其餘區域為數字,數字0代表超級貓貓號未曾造訪此地,數字1代表超級貓貓號行經此地,並且向右方行駛,數字2、3、4則以此類推,分別代表超級貓貓號向左方、上方、下方行駛。
超級貓貓號在起始點預設向右行駛。
輸出該航行路線是否正確,若正確則輸出超級貓貓號行駛的距離,不正確則輸出該路線圖違反的規則*-1,保證只會違反一條規則,結尾需換行。
若且惟若發生以下五種情況,我們將視為該路線圖為不正確:
5
00000
0S140
00040
000E0
00000
4
5
00000
0S000
00000
000E0
00000
-1
5
00000
0S11X
00000
000E0
00000
-2
5
00000
0S111
00000
000E0
00000
-3
5
42220
4S130
11130
000E0
00000
-4
5
00000
0S140
00040
000E0
30000
-5
可以用遞迴的方向思考看看。
NEOJ Problem 3403
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0 | 10 | |
2 | 1 | 10 | |
3 | 2 | 10 | |
4 | 3 | 10 | |
5 | 4 | 10 | |
6 | 5 | 10 | |
7 | 6 | 10 | |
8 | 7 | 10 | |
9 | 8 | 5 | |
10 | 9 | 5 | |
11 | 10 | 5 | |
12 | 11 | 5 | |
13 | 12 | 5 | |
14 | 13 | 5 | |
15 | 14 | 5 |