atcoder#EXAWIZARDS2019F. More Realistic Manhattan Distance

More Realistic Manhattan Distance

题目描述

AtCoder 共和国の首都タカハ市には,東西に伸びる道路が N N 本,南北に伸びる道路が M M 本あり,これ以外の道路はありません. 北から i i 本目の東西方向の道路と,西から j j 本目の南北方向の道路は,交差点 (i, j) (i,\ j) で交わっています. 東西方向の道路同士,南北方向の道路同士が交わることはありません. また,同じ方向の隣り合う道路の間は距離 1 1 ずつ離れています.

それぞれの道路は一方通行で,片方の向きにのみ通行可能です.各道路の通行可能な方向は,長さ N N の文字列 S S ,長さ M M の文字列 T T を用いて,次のようになっています:

  • S S i i 文字目が W のとき,北から i i 本目の東西方向の道路は,西向きにのみ通行可能.
  • S S i i 文字目が E のとき,北から i i 本目の東西方向の道路は,東向きにのみ通行可能.
  • T T j j 文字目が N のとき,西から j j 本目の南北方向の道路は,北向きにのみ通行可能.
  • T T j j 文字目が S のとき,西から j j 本目の南北方向の道路は,南向きにのみ通行可能.

次のような形式の Q Q 個の質問に答えてください.

  • i i 番目の質問では,ai, bi, ci, di a_i,\ b_i,\ c_i,\ d_i が与えられる.このとき,交差点 (ai, bi) (a_i,\ b_i) から (ci, di) (c_i,\ d_i) まで,道路のみを通行して移動するときの,最小の移動距離はいくらか?

输入格式

入力は以下の形式で標準入力から与えられる.

N N M M Q Q S S T T a1 a_1 b1 b_1 c1 c_1 d1 d_1 a2 a_2 b2 b_2 c2 c_2 d2 d_2 : : aQ a_Q bQ b_Q cQ c_Q dQ d_Q

输出格式

i i 行目には,i i 番目の質問に対する答えを出力せよ.ただし,交差点 (ai, bi) (a_i,\ b_i) から (ci, di) (c_i,\ d_i) まで,道路のみを通行して移動することが不可能なときは,代わりに -1 を出力せよ.

题目大意

大意:

在一个城市里,有NN条东西延伸的道路,MM条南北延伸的道路。没有其他道路。北向第ii条东西向道路和向西向往第jj条南北向道路在交叉点(i,j)处交叉。东西两路不交叉,南北两路也不交叉。同一方向的两条相邻道路之间的距离为11

每条路都是单向的;一个人只能朝一个方向走。每条道路的允许方向由长度为NN的字符串SS和长度为MM的字符串TT描述,如下所示:

  • 如果SS中的第ii个字符是W,则只能从北边沿第ii条东西向的道路向西走;
  • 如果SS中的第ii个字符是E,则只能从北边沿第ii条东西向的道路向东走;
  • 如果TT中第ii个字符为N,则只能从西边沿第ii条南北向北走;
  • 如果TT中的第ii个字符是S,则只能从西边沿第条西南路向南走。

处理以下QQ个查询:

在第ii个查询中,给出了aia_ibib_icic_idid_i。沿着道路步行,从交叉路口 (ai,bi)(a_i,b_i) 到达交叉路口 (ci,di)(c_i,d_i) 的最短距离是多少?

4 5 4
EEWW
NSNNS
4 1 1 4
1 3 1 2
4 2 3 2
3 3 3 5
6
11
5
4
3 3 2
EEE
SSS
1 1 3 3
3 3 1 1
4
-1
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
9
-1
4
9
2
3
7
7
6
-1

提示

制約

  • 2  N  100000 2\ \leq\ N\ \leq\ 100000
  • 2  M  100000 2\ \leq\ M\ \leq\ 100000
  • 2  Q  200000 2\ \leq\ Q\ \leq\ 200000
  • S = N |S|\ =\ N
  • S S W, E のみからなる
  • T = M |T|\ =\ M
  • T T N, S のみからなる
  • 1  ai  N 1\ \leq\ a_i\ \leq\ N
  • 1  bi  M 1\ \leq\ b_i\ \leq\ M
  • 1  ci  N 1\ \leq\ c_i\ \leq\ N
  • 1  di  M 1\ \leq\ d_i\ \leq\ M
  • (ai, bi)  (ci, di) (a_i,\ b_i)\ \neq\ (c_i,\ d_i)

Sample Explanation 1

各道路の通行可能な方向は下図の通りです(上向きを北とします): ![](https://img.atcoder.jp/exawizards2019/bfb8c54cc4098353946320d8c263807e.png) 4 4 個の質問それぞれについて,最小の移動距離を達成する経路の例は次の通りです: ![](https://img.atcoder.jp/exawizards2019/d1918596004a23a20aa138e591e0ee99.png)

Sample Explanation 2

移動が不可能な場合もあります.