记录编号 602334 评测结果 AAAAAAAAAA
题目名称 4167.镜牢 最终得分 100
用户昵称 GravatarHollow07 是否通过 通过
代码语言 C++ 运行时间 0.647 s
提交时间 2025-07-03 16:28:51 内存使用 5.48 MiB
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll n,a[100010],b[100010],c[100010],ans,x,y;
int main(){
	freopen("mirror.in","r",stdin);
	freopen("mirror.out","w",stdout);
	scanf("%lld",&n);
	ans=0;
	for (int i=1;i<=n;++i) scanf("%lld",&a[i]);
	for (int i=1;i<=n;++i) scanf("%lld",&b[i]);
	for (int i=1;i<=n;++i) scanf(" %c",&c[i]);
	printf("\n");
	for (int i=1;i<=n;++i)  a[i]=a[i]^b[i],ans=ans^b[i];
	for (int j=59;j>=0;--j){
		x=0;y=0;
		for (int i=n;i>=1;--i){
			if (a[i]>>j&1) a[i]^=(x?x:(y=c[i],x=a[i]));
		}
		ans^=((ans >> j & 1)^(y-48))*x;
	}
	printf("%lld\n",ans);
	return 0;
}