当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

6477:数据恢复

题目描述
你是一名工程师,最近刚上线了一款数据迁移的软件。不幸的是,一个bug潜伏在你的代码之中。

假设要迁移的数据是一个长度为$n$的非负整数序列$a_1,a_2,\dots,a_n$,这个bug会随机产生一个在非负整数$k$,将每个$a_i$都变为$a_i\oplus k$,其中"$\oplus$"表示二进制下按位异或。在这一步之后,bug还会将序列$a$随机打乱。

你紧急上线了一款数据恢复的软件用于稳定用户,但是你还是需要定位出这个bug。如果知道$k$是多少的话,那么定位就简单多了。请写一个程序,给出原始序列和bug序列,找到bug产生的$k$。
输入解释
第一行包含一个正整数$T(1\leq T\leq 5)$,表示测试数据的组数。

每组数据第一行包含一个正整数$n(1\leq n\leq 100000)$,表示序列的长度。

第二行包含一个长度为$n$的非负整数序列$a_1,a_2,\dots,a_n(0\leq a_i\leq 10^9)$,表示原始序列。

第三行包含一个长度为$n$的非负整数序列$b_1,b_2,\dots,b_n(0\leq b_i\leq 10^9)$,表示被混淆后的序列。

为了贴近实际生产数据,数据是这样生成的:

先在$[0,10^9]$范围内随机生成出序列$a$,然后在$[0,10^9]$范围内随机生成出$k$,将每个$a_i$都异或$k$后再将序列$a$随机打乱得到$b$。
输出解释
对于每组数据输出一行一个整数,即$k$。如果有多个满足条件的$k$,请输出最小的。
输入样例
1
3
995079375 799173665 950546684
139590094 526099731 482091296
输出样例
670275055
来自杭电HDUOJ的附加信息
Author Claris
Recommend liuyiding

该题目是Virtual Judge题目,来自 杭电HDUOJ

题目来源 Championship

源链接: HDU-6477

最后修改于 2020-10-25T23:31:42+00:00 由爬虫自动更新

共提交 0

通过率 --%
时间上限 内存上限
4000/2000MS(Java/Others) 65535/102400K(Java/Others)