超級貓貓男駕駛著超級貓貓號,目標是尋找下一顆地球。
在超級貓貓號上面儲存了許多航行路線的歷史資料。
但是由於超級貓貓號上面的硬碟有一點故障,因此許多航行路線的資料都被毀損了。
現在超級貓貓男想要你寫一個程式來驗證航行路線有沒有被損毀。
第一行為整數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 |