AT_arc172_f [ARC172F] Walking
题目描述
### 问题描述
在 AtCoder 王国中有 $2\times N$ 个交叉口,每个交叉口编号从 $1$ 到 $2\times N$。此外,在 AtCoder 王国中有以下 $3$ 种单向道路:
- 类型 A: 对于 $2 \leq i \leq N$,从交叉口 $2i-3$ 到交叉口 $2i-1$ 的道路
- 类型 B: 对于 $2 \leq i \leq N$,从交叉口 $2i-2$ 到交叉口 $2i$ 的道路
- 类型 C: 对于 $1 \leq i \leq N$,连接交叉口 $2i-1$ 和交叉口 $2i$ 的方向为 $s_i$ 的道路
这里,$s_i$ 是 `X` 或 `Y`,其中 `X` 表示从交叉口 $2i-1$ 到交叉口 $2i$ 的方向,而 `Y` 表示从交叉口 $2i$ 到交叉口 $2i-1$ 的方向。
高桥君希望通过进行步行几次,对于每个 $1 \leq i \leq N$,使连接交叉口 $2i-1$ 和交叉口 $2i$ 的类型 C 道路的方向为 $t_i$。
步行操作
从任意交叉口出发,重复以下操作 $0$ 次或多次:
- 如果可以走上类型 C 的道路,则沿着该道路走到下一个交叉口。
- 如果无法走上类型 C 的道路,但可以走上类型 A 或 B 的道路,则沿着该道路走到下一个交叉口。
然后,将经过的所有类型 C 的道路的方向反转。
请计算达到目的所需的最少步行次数,并给出达到目的的最少步行次数的方法。在此问题的约束条件下,可以证明可以有限次步行达到目的地。
输入格式
以以下形式输入数据:
> $ N $
>
> $ s_1\ s_2\ \cdots\ s_N $
>
> $ t_1\ t_2\ \cdots\ t_N $
输出格式
请以以下形式输出。假设步行次数为 $X$。此外,第 $i$ 次步行($1 \leq i \leq X$)从交叉口 $a_i$ 出发,最终在交叉口 $b_i$ 终止。
> $X$
>
> $a_1$ $b_1$
>
> $a_2$ $b_2$
>
> $ \vdots $
>
> $a_X$ $b_X$
说明/提示
- $N$ 是满足 $1 \leq N \leq 4000$ 的整数
- $s_1, s_2, \dots, s_N$ 是 `X` 或 `Y`
- $t_1, t_2, \dots, t_N$ 是 `X` 或 `Y`
【样例解释 1】
在这个样例中,高桥君将按照以下步骤行走:
- 从交叉口 2 出发。
- 由于从交叉口 2 没有类型 C 道路可供前进,沿着类型 B 道路走到交叉口 4。
- 由于从交叉口 4 有类型 C 道路可供前进,沿着类型 C 道路走到交叉口 3。
- 由于从交叉口 3 没有类型 C 道路可供前进,沿着类型 A 道路走到交叉口5。
- 由于从交叉口 5 有类型 C 道路可供前进,沿着类型 C 道路走到交叉口 6。
- 由于从交叉口 6 没有类型 C 道路可供前进,沿着类型 B 道路走到交叉口 8。
- 由于从交叉口 8 有类型 C 道路可供前进,沿着类型 C 道路走到交叉口 7。
- 在交叉口 7 结束。
这次步行经过了以下三条类型 C 道路:
- 连接交叉口 3 和交叉口 4 的道路。
- 连接交叉口 5 和交叉口 6 的道路。
- 连接交叉口 7 和交叉口 8 的道路。
这些道路的方向被反转,因此连接交叉口 $2i−1$ 和交叉口 $2i$(其中 $i=1,2,3,4,5$)的道路的方向现在分别为 `X`、`X`、`Y`、`X`、`X`,到达了目的地。