比赛 2025.5.4 评测结果 TTTTTTTTTT
题目名称 最大异或和路径 最终得分 0
用户昵称 李奇文 运行时间 18.290 s
代码语言 C++ 内存使用 4.04 MiB
提交时间 2025-05-04 11:51:29
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=5e5;
int ans,n,m,cnt,head[N],vis[N];
struct node{
	int to,w,nxt;
}e[N];
void ask(int t,int k){
	if(t==n){
		ans=max(ans,k);
		return;
	}
	for(int i=head[t];i;i=e[i].nxt){
		int v=e[i].to,w=e[i].w;
		if(!vis[v]){
			vis[v]=1;
			ask(v,k^w);
			vis[v]=0;
		}
	}
	return;
}
void add(int u,int v,int w){
	e[++cnt].nxt=head[u];
	head[u]=cnt;
	e[cnt].to=v;
	e[cnt].w=w;
	return;
}
int main(){
	freopen("xorr.in","r",stdin);
	freopen("xorr.out","w",stdout);
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int s,t,d;
		cin>>s>>t>>d;
		add(s,t,d);
		add(t,s,d);
	}
	ask(1,0);
	cout<<ans<<endl;
	return 0;
}