Time Limit: 4 sec / Memory Limit: 1024 MB
配点 : 1200 点
問題文
AtCoder 共和国の首都タカハ市には,東西に伸びる道路が N 本,南北に伸びる道路が M 本あり,これ以外の道路はありません. 北から i 本目の東西方向の道路と,西から j 本目の南北方向の道路は,交差点 (i, j) で交わっています. 東西方向の道路同士,南北方向の道路同士が交わることはありません. また,同じ方向の隣り合う道路の間は距離 1 ずつ離れています.
それぞれの道路は一方通行で,片方の向きにのみ通行可能です.各道路の通行可能な方向は,長さ N の文字列 S,長さ M の文字列 T を用いて,次のようになっています:
- S の i 文字目が
W
のとき,北から i 本目の東西方向の道路は,西向きにのみ通行可能. - S の i 文字目が
E
のとき,北から i 本目の東西方向の道路は,東向きにのみ通行可能. - T の j 文字目が
N
のとき,西から j 本目の南北方向の道路は,北向きにのみ通行可能. - T の j 文字目が
S
のとき,西から j 本目の南北方向の道路は,南向きにのみ通行可能.
次のような形式の Q 個の質問に答えてください.
- i 番目の質問では,a_i, b_i, c_i, d_i が与えられる.このとき,交差点 (a_i, b_i) から (c_i, d_i) まで,道路のみを通行して移動するときの,最小の移動距離はいくらか?
制約
- 2 \leq N \leq 100000
- 2 \leq M \leq 100000
- 2 \leq Q \leq 200000
- |S| = N
- S は
W
,E
のみからなる - |T| = M
- T は
N
,S
のみからなる - 1 \leq a_i \leq N
- 1 \leq b_i \leq M
- 1 \leq c_i \leq N
- 1 \leq d_i \leq M
- (a_i, b_i) \neq (c_i, d_i)
入力
入力は以下の形式で標準入力から与えられる.
N M Q S T a_1 b_1 c_1 d_1 a_2 b_2 c_2 d_2 : a_Q b_Q c_Q d_Q
出力
i 行目には,i 番目の質問に対する答えを出力せよ.ただし,交差点 (a_i, b_i) から (c_i, d_i) まで,道路のみを通行して移動することが不可能なときは,代わりに -1
を出力せよ.
入力例 1
4 5 4 EEWW NSNNS 4 1 1 4 1 3 1 2 4 2 3 2 3 3 3 5
出力例 1
6 11 5 4
各道路の通行可能な方向は下図の通りです(上向きを北とします):
4 個の質問それぞれについて,最小の移動距離を達成する経路の例は次の通りです:
入力例 2
3 3 2 EEE SSS 1 1 3 3 3 3 1 1
出力例 2
4 -1
移動が不可能な場合もあります.
入力例 3
9 7 10 EEEEEWEWW NSSSNSN 4 6 9 2 3 7 6 7 7 5 3 5 1 1 8 1 4 3 5 4 7 4 6 4 2 5 8 6 6 6 2 7 2 4 7 5 7 2 9 7
出力例 3
9 -1 4 9 2 3 7 7 6 -1
Score : 1200 points
Problem Statement
In Takaha-shi, the capital of Republic of AtCoder, there are N roads extending east and west, and M roads extending north and south. There are no other roads. The i-th east-west road from the north and the j-th north-south road from the west cross at the intersection (i, j). Two east-west roads do not cross, nor do two north-south roads. The distance between two adjacent roads in the same direction is 1.
Each road is one-way; one can only walk in one direction. The permitted direction for each road is described by a string S of length N and a string T of length M, as follows:
- If the i-th character in S is
W
, one can only walk westward along the i-th east-west road from the north; - If the i-th character in S is
E
, one can only walk eastward along the i-th east-west road from the north; - If the i-th character in T is
N
, one can only walk northward along the i-th north-south road from the west; - If the i-th character in T is
S
, one can only walk southward along the i-th south-west road from the west.
Process the following Q queries:
- In the i-th query, a_i, b_i, c_i and d_i are given. What is the minimum distance to travel to reach the intersection (c_i, d_i) from the intersection (a_i, b_i) by walking along the roads?
Constraints
- 2 \leq N \leq 100000
- 2 \leq M \leq 100000
- 2 \leq Q \leq 200000
- |S| = N
- S consists of
W
andE
. - |T| = M
- T consists of
N
andS
. - 1 \leq a_i \leq N
- 1 \leq b_i \leq M
- 1 \leq c_i \leq N
- 1 \leq d_i \leq M
- (a_i, b_i) \neq (c_i, d_i)
Input
Input is given from Standard Input in the following format:
N M Q S T a_1 b_1 c_1 d_1 a_2 b_2 c_2 d_2 : a_Q b_Q c_Q d_Q
Output
In the i-th line, print the response to the i-th query. If the intersection (c_i, d_i) cannot be reached from the intersection (a_i, b_i) by walking along the roads, print -1
instead.
Sample Input 1
4 5 4 EEWW NSNNS 4 1 1 4 1 3 1 2 4 2 3 2 3 3 3 5
Sample Output 1
6 11 5 4
The permitted direction for each road is shown in the following figure (north upward):
For each of the four queries, a route that achieves the minimum travel distance is as follows:
Sample Input 2
3 3 2 EEE SSS 1 1 3 3 3 3 1 1
Sample Output 2
4 -1
The travel may be impossible.
Sample Input 3
9 7 10 EEEEEWEWW NSSSNSN 4 6 9 2 3 7 6 7 7 5 3 5 1 1 8 1 4 3 5 4 7 4 6 4 2 5 8 6 6 6 2 7 2 4 7 5 7 2 9 7
Sample Output 3
9 -1 4 9 2 3 7 7 6 -1