记录编号 602327 评测结果 AAATTTTTTT
题目名称 4167.镜牢 最终得分 30
用户昵称 Gravatar汐汐很希希 是否通过 未通过
代码语言 C++ 运行时间 14.027 s
提交时间 2025-07-03 16:07:18 内存使用 6.96 MiB
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e6+10;
int n,c[N];
ll a[N],b[N];
ll dfs(int cnt,ll x)
{
    if(cnt==n+1) return x;
    else{
        if(a[cnt]==b[cnt]) return dfs(cnt+1,x^a[cnt]);
        if(c[cnt]==1) return max(dfs(cnt+1,x^a[cnt]),dfs(cnt+1,x^b[cnt]));
        else return min(dfs(cnt+1,x^a[cnt]),dfs(cnt+1,x^b[cnt]));
    }
}
int main()
{
    freopen("mirror.in","r",stdin);
    freopen("mirror.out","w",stdout);
    
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++) cin>>b[i];
    for(int i=1;i<=n;i++) cin>>c[i];
    cout<<dfs(1,0)<<endl;
    return 0;
}