TopCoder

User's AC Ratio

100.0% (2/2)

Submission's AC Ratio

100.0% (2/2)

Tags

Description

小明一覺醒來,發現自己身陷在 TOI 地下大迷宮裡,迷宮可以表示成由 $1 \times 1$ 的神祕方格所組成的 $n \times m$ 矩形。每一個神祕方格可能有 $0$ 到 $4$ 個門,相鄰方格的兩扇門必須要對上小明才能通過。
小明發現自己的手上還有一個神奇的按鈕,按下去後,迷宮中所有神祕方格都會順時鐘旋轉 $90$ 度,過程消耗一單位時間。另外,移動到下一個房間也需要一單位時間,請根據地圖幫助小明計算出抵達迷宮的出口所需的最短時間。

Input Format

第一行包含兩個由空白隔開的整數 $n,m(1\le n,m \le 1000)$,代表 TOI 地下大迷宮的長和寬。
接下來 $n$ 行,每行有 $m$ 個字母,用來表示迷宮地圖的樣子,字母的種類有:

  • «+» 代表該神秘方格有四個門分別通往上下左右的相鄰方格;
  • «-» 代表該神秘方格有兩個門分別通往左右的相鄰方格;
  • «|» 代表該神秘方格有兩個門分別通往上下的相鄰方格;
  • «^ » 代表該神秘方格有一個門通往上面的相鄰方格;
  • «>» 代表該神秘方格有一個門通往右邊的相鄰方格;
  • «<» 代表該神秘方格有一個門通往左邊的相鄰方格;
  • «v» 代表該神秘方格有一個門通往下面的相鄰方格;
  • «L» 代表該神秘方格有三個門分別通往上下右的相鄰方格;
  • «R» 代表該神秘方格有三個門分別通往上下左的相鄰方格;
  • «U» 代表該神秘方格有三個門分別通往下左右的相鄰方格;
  • «D» 代表該神秘方格有三個門分別通往上左右的相鄰方格;
  • «*» 代表該神秘方格沒有門只是一塊牆壁。

下一行包含兩個由空白隔開的整數 $x_s, y_s\ (1 \leq x_s \leq n,\ 1 \leq y_s \leq m)$ 代表小明的位置。
最後一行包含兩個由空白隔開的整數 $x_t, y_t\ (1 \leq x_t \leq n,\ 1 \leq y_t \leq m)$ 代表迷宮出口的位置。

保證位於小明的位置和迷宮出口的位置的神祕方塊不是牆壁。
迷宮由上到下每行編號為 $1$ 到 $n$,由左到右每列編號為 $1$ 到 $m$。

Output Format

輸出一個整數,代表小明抵達迷宮的出口所需的最短時間,若小明不可能抵達出口,輸出 -1

Sample Input 1

2 2
+*
*U
1 1
2 2

Sample Output 1

-1

Sample Input 2

2 3
<><
><>
1 1
2 1

Sample Output 2

4

Hints

Problem Source

Codeforces Round #354 (Div. 2) D. Theseus and labyrinth

Subtasks

No. Testdata Range Constraints Score
1 0~1 範例測資 0
2 0~34 無額外限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 3000 262144 65536 1 2
1 3000 262144 65536 1 2
2 3000 262144 65536 2
3 3000 262144 65536 2
4 3000 262144 65536 2
5 3000 262144 65536 2
6 3000 262144 65536 2
7 3000 262144 65536 2
8 3000 262144 65536 2
9 3000 262144 65536 2
10 3000 262144 65536 2
11 3000 262144 65536 2
12 3000 262144 65536 2
13 3000 262144 65536 2
14 3000 262144 65536 2
15 3000 262144 65536 2
16 3000 262144 65536 2
17 3000 262144 65536 2
18 3000 262144 65536 2
19 3000 262144 65536 2
20 3000 262144 65536 2
21 3000 262144 65536 2
22 3000 262144 65536 2
23 3000 262144 65536 2
24 3000 262144 65536 2
25 3000 262144 65536 2
26 3000 262144 65536 2
27 3000 262144 65536 2
28 3000 262144 65536 2
29 3000 262144 65536 2
30 3000 262144 65536 2
31 3000 262144 65536 2
32 3000 262144 65536 2
33 3000 262144 65536 2
34 3000 262144 65536 2