Description

超級貓貓星際漫遊-3

題目敘述

超級貓貓男駕駛著超級貓貓號,目標是尋找下一顆地球。

在超級貓貓號上面儲存了許多航行路線的歷史資料。

但是由於超級貓貓號上面的硬碟有一點故障,因此許多航行路線的資料都被毀損了。

現在超級貓貓男想要你寫一個程式來驗證航行路線有沒有被損毀。

輸入

第一行為整數n (n>=3),之後輸入n行長度為n的字串代表航行路線。

航行路線由 n*n 的二維陣列組成,其中字母S代表該航行路線的起點,字母E代表該航行路線的終點,字母X代表不可以經過的區域。

S以及E保證出現且數量各只會有一個。

其餘區域為數字,數字0代表超級貓貓號未曾造訪此地,數字1代表超級貓貓號行經此地,並且向右方行駛,數字2、3、4則以此類推,分別代表超級貓貓號向左方、上方、下方行駛。

超級貓貓號在起始點預設向右行駛。

輸出

輸出該航行路線是否正確,若正確則輸出超級貓貓號行駛的距離,不正確則輸出該路線圖違反的規則*-1,保證只會違反一條規則,結尾需換行。

若且惟若發生以下五種情況,我們將視為該路線圖為不正確:

  1. 超級貓貓號造訪自起點造訪一個區域,路線圖卻標示為0。
  2. 超級貓貓號行駛到標示為X的區域。
  3. 超級貓貓號行駛出地圖邊界。
  4. 超級貓貓號行駛到曾經造訪的區域,形成無限迴圈。
  5. 在地圖上有超級貓貓號未曾造訪的區域,卻標示為1、2、3、4。

範例測資

範例輸入1

5 00000 0S140 00040 000E0 00000

範例輸出1

4

範例輸入2

5 00000 0S000 00000 000E0 00000

範例輸出2

-1

範例輸入3

5 00000 0S11X 00000 000E0 00000

範例輸出3

-2

範例輸入4

5 00000 0S111 00000 000E0 00000

範例輸出4

-3

範例輸入5

5 42220 4S130 11130 000E0 00000

範例輸出5

-4

範例輸入6

5 00000 0S140 00040 000E0 30000

範例輸出6

-5

Hint

可以用遞迴的方向思考看看。

Input Format

Output Format

Hints

Problem Source

NEOJ Problem 3403

Subtasks

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

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 65536 65536 1
1 1000 65536 65536 2
2 1000 65536 65536 3
3 1000 65536 65536 4
4 1000 65536 65536 5
5 1000 65536 65536 6
6 1000 65536 65536 7
7 1000 65536 65536 8
8 1000 65536 65536 9
9 1000 65536 65536 10
10 1000 65536 65536 11
11 1000 65536 65536 12
12 1000 65536 65536 13
13 1000 65536 65536 14
14 1000 65536 65536 15