Processing math: 100%
编程题
                ### 问题描述

小然在一次冒险中,发现了一个神秘的古老遗迹。在遗迹的最深处,小然发现了一些神秘的二进制符文,他猜测这些符文可能是开启遗迹秘门的关键。

这些神秘的符文有两套,每套符文都是由 01 组成的二进制数组。一套是 A,另一套是 B,每套都有 N 个元素(N3)。

神秘的是,符文 A 有一个特殊的变形规则:可以选择 A 中的三个位置 ijk(满足 1i<j<kN),并将位置 j 的符文改为AiAjAk 的结果。

小然需要判断,通过任意次(可能为零次)的这种变形操作,是否可以将符文 A 变为符文 B

输入格式

第一行包含一个整数 T,代表有 T 组测试数据。

每组测试数据包含三行:

  • 第一行是一个整数 N,代表符文的元素数量。
  • 第二行是 N 个空格分隔的整数,代表符文 A 的元素。
  • 第三行是 N 个空格分隔的整数,代表符文 B 的元素。

输出格式

对于每组测试数据,如果可以通过变形操作将符文 A 变为符文 B,输出 YES;否则,输出 NO

样例输入

3
5
0 1 0 0 1
0 1 1 1 1
3
1 0 0
0 0 1
3
0 0 0
0 1 0

样例输出

YES
NO
NO

说明

在第一组测试数据中,我们可以通过以下操作将 A 变为 B

  1. 选择 i=2j=3k=4,将 A[3] 设置为 A[2]A[4],得到新的 A=[0,1,1,0,1]
  2. 选择 i=3j=4k=5,将 A[4] 设置为 A[3]A[5],得到新的 A=[0,1,1,1,1]

在第二组和第三组测试数据中,无法通过变形操作将 A 变为 B

评测数据范围

1T103

3N105

A[i]B[i] 都是 01

所有测试数据中 N 的总和不超过 5×105

查看答案
赣ICP备20007335号-2