WA求调
查看原帖
WA求调
763878
Jerry_heng楼主2024/3/10 15:27
#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
int n,q,head[1000010],cnt,s[1000010];
struct node{
	int to,nxt,val;
}edge[2000010];
void add(int u,int v,int w){
	edge[++cnt]=(node){v,head[u],w};
	head[u]=cnt;
}
void dfs(int u,int f){
	for(int i=head[u];i;i=edge[i].nxt){
		int v=edge[i].to;
		if(v==f)continue;
		s[v]=s[u]^edge[i].val;
		dfs(v,u);
	}
}
signed main(){
	scanf("%lld%lld",&n,&q);
	for(int i=1;i<n;i++){
		int u,v,w;
		scanf("%lld%lld%lld",&u,&v,&w);
		add(u,v,w);add(v,u,w);
	}
	dfs(1,0);
	while(q--){
		int u,v,w;
		scanf("%lld%lld%lld",&u,&v,&w);
		if((s[u]^s[v])==w)puts("Yes");
		else puts("No");
	}
	return 0;
}
2024/3/10 15:27
加载中...