比赛 2025.3.29 评测结果 MMMMMMMMMM
题目名称 幸运数字 最终得分 0
用户昵称 李奇文 运行时间 0.008 s
代码语言 C++ 内存使用 1.35 MiB
提交时间 2025-03-29 10:55:16
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=2e4;
int n,q;
int g[N];
int f[N][N],vis[N],sum;
void ans(int x,int y,int zx){
	if(x==y){
		sum=max(sum,zx);
		return;
	}
	for(int i=1;i<=n;i++){
		if(f[x][i]!=0&&vis[i]==0){
			vis[i]=1;
			ans(i,y,zx);
			ans(i,y,zx^g[i]);
			vis[i]=0;
		}
	}
	return;
}
int main(){
	freopen("luckynum.in","r",stdin);
	freopen("luckynum.out","w",stdout);
	std::cin>>n>>q;
	for(int i=1;i<=n;i++){
		std::cin>>g[i];
	}
	for(int i=1;i<n;i++){
		int x,y;
		std::cin>>x>>y;
		f[x][y]=1;
		f[y][x]=1;
	}
	for(int i=1;i<=q;i++){
		int x,y;
		memset(vis,0,sizeof(vis));
		std::cin>>x>>y;
		vis[x]=1;
		ans(x,y,g[x]);
		ans(x,y,0);
		std::cout<<sum<<endl;
		vis[x]=0;
		sum=0;
	}
	return 0;
}