B - Triple Shift
Editorial
/
Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 400 点
問題文
長さ N の整数列 A=(A_1,A_2,\cdots,A_N) および B=(B_1,B_2,\cdots,B_N) が与えられます.
あなたは,以下の操作を好きな回数繰り返すことができます.
- 整数 i (1 \leq i \leq N-2) を選び,現在の A_i,A_{i+1},A_{i+2} の値をそれぞれ x,y,z とする. そして,A_i,A_{i+1},A_{i+2} の値をそれぞれ z,x,y で置き換える.
A を B に一致させることができるかどうか判定してください.
制約
- 3 \leq N \leq 5000
- 1 \leq A_i,B_i \leq 5000
- 入力される値はすべて整数
入力
入力は以下の形式で標準入力から与えられる.
N A_1 A_2 \cdots A_N B_1 B_2 \cdots B_N
出力
A を B に一致させることが可能な場合は Yes
を,そうでない場合は No
を出力せよ.
入力例 1
4 3 1 4 5 4 1 5 3
出力例 1
Yes
以下のように操作すればよいです.
- 最初,A=(3,1,4,5) である.
- i=1 で操作を行う.A=(4,3,1,5) となる.
- i=2 で操作を行う.A=(4,5,3,1) となる.
- i=2 で操作を行う.A=(4,1,5,3) となる.
入力例 2
3 1 2 2 2 1 2
出力例 2
Yes
入力例 3
3 1 2 3 2 3 4
出力例 3
No
Score : 400 points
Problem Statement
You are given integer sequences of length N each: A=(A_1,A_2,\cdots,A_N) and B=(B_1,B_2,\cdots,B_N).
You can repeat the following operation any number of times.
- Choose an integer i (1 \leq i \leq N-2) and let x,y,z be the current values of A_i,A_{i+1},A_{i+2}, respectively. Then, replace the values of A_i,A_{i+1},A_{i+2} with z,x,y, respectively.
Determine whether it is possible to make A equal B.
Constraints
- 3 \leq N \leq 5000
- 1 \leq A_i,B_i \leq 5000
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
N A_1 A_2 \cdots A_N B_1 B_2 \cdots B_N
Output
If it is possible to make A equal B, print Yes
; otherwise, print No
.
Sample Input 1
4 3 1 4 5 4 1 5 3
Sample Output 1
Yes
We should do the following.
- Initially, we have A=(3,1,4,5).
- Do the operation with i=1, making A=(4,3,1,5).
- Do the operation with i=2, making A=(4,5,3,1).
- Do the operation with i=2, making A=(4,1,5,3).
Sample Input 2
3 1 2 2 2 1 2
Sample Output 2
Yes
Sample Input 3
3 1 2 3 2 3 4
Sample Output 3
No