题目描述
非負整数からなる長さ N の数列 a={a0,…,aN−1} と b={b0,…,bN−1} が与えられます。
すぬけ君は 0 ≤ k < N を満たす整数 k と、0 以上の整数 x を決めて、新しく長さ N の数列 a′={a0′,…,aN−1′} を次のようにして作ります。
- ai′= ai+k mod N XOR x
a′ が b と等しくなるような (k,x) の組を全て求めてください。
XOR とは 整数 A, B のビットごとの排他的論理和 a XOR b は、以下のように定義されます。
- A XOR B を二進表記した際の 2k (k ≥ 0) の位の数は、A, B を二進表記した際の 2k の位の数のうち一方のみが 1 であれば 1、そうでなければ 0 である。
例えば、3 XOR 5 = 6 となります (二進表記すると: 011 XOR 101 = 110 )。
输入格式
入力は以下の形式で標準入力から与えられる。
N a0 a1 ... aN−1 b0 b1 ... bN−1
输出格式
a′ と b が等しくなるような (k,x) の組を、1 行に 1 組ずつ、k の昇順 (k が等しいものは x の昇順) にすべて出力せよ。
このような組が存在しない場合の出力は空でよい。
题目大意
题目描述
给定两个长度为 n 的序列 a={a0,a1,⋯,an−1} 和 b={b0,b1,⋯,bn−1},输出所有有序数对 (k,x) ,满足:
- 0≤k<n 且 x≥0。
- 序列 a′=b,其中 $a'_i = a_{i+k\bmod n}\operatorname{xor} x\ (0\leq i<n)$,“xor”表示按位异或。
输入格式
第一行一个整数 n。
第二行 n 个整数,依次是 a0,a1,⋯,an−1。
第三行 n 个整数,依次是 b0,b1,⋯,bn−1。
输出格式
输出所有满足条件有序对 (k,x),每对占一行。如果没有满足条件的有序对,输出为空。
数据范围
1≤n≤2×105,0≤ai,bi<230。
3
0 2 1
1 2 3
1 3
5
0 0 0 0 0
2 2 2 2 2
0 2
1 2
2 2
3 2
4 2
6
0 1 3 7 6 4
1 5 4 6 2 3
2 2
5 5
2
1 2
0 0
提示
制約
- 1 ≤ N ≤ 2 × 105
- 0 ≤ ai,bi < 230
- 入力中のすべての値は整数である。
Sample Explanation 1
(k,x)=(1,3) のとき、 - a0′=(a1 XOR 3)=1 - a1′=(a2 XOR 3)=2 - a2′=(a0 XOR 3)=3 となり、a′ は b と等しくなります。
Sample Explanation 4
条件を満たすような組が存在しないこともあります。