传送门

 #include<iostream>
 #include<cstdio>
 #include<cstring>
 using namespace std;
 ;int x,y,z;
 ,head[N],dis[N];bool vis[N];
 ];
 //无向图存边数组开两倍
 void add(int u,int v,int w){
     edge[++k].to=v;edge[k].next=head[u];edge[k].w=w;head[u]=k;
 }
 void dfs(int now,int val){
     //dis[tmp]^dis[tmp]^dis[u]^dis[v]=dis[u]^dis[v]
     //所以只要求每一个和根节点的异或值就可以了
     dis[now]=val;vis[now]=true;
     //now到根节点的异或边权即为val
     //这个点已经找过了
     for(register int i=head[now];i;i=edge[i].next){
         //从这个点所在的图的边的起点开始向后找
         if(!vis[edge[i].to]) dfs(edge[i].to,val^edge[i].w);
         //如果在这个没有搜过,就顺着向下搜,异或值就是现在的^要走过的
     }
 }
 int main(){
     scanf("%d",&n);
     ;i<=n-;i++){
         scanf("%d%d%d",&x,&y,&z);
         add(x,y,z);add(y,x,z);
     }
     dfs(,);/*从根节点开始找,根节点和自己的异或值就是零*/scanf("%d",&m);
     ;i<=m;i++){
         scanf("%d%d",&x,&y);
         printf("%d\n",dis[x]^dis[y]);
     }
 }
 
 
 

最新文章

  1. 使用CFURLCreateStringByAddingPercentEscapes进行URL编码
  2. kvm -- Kernel-based Virtual Machine
  3. Struts 2开讲了!!!
  4. CORS 跨域 实现思路及相关解决方案
  5. Css基础-派生选择器
  6. JS 判断 Radio 单选按钮是否为选中状态 并弹出 值信息
  7. C#使用DataSet类、DataTable类、DataRow类、OleDbConnection类、OleDbDataAdapter类编写简单数据库应用
  8. linux之SQL语句简明教程---LIKE
  9. Starling开发微信打灰机(一)
  10. Fraction to Recurring Decimal leetcode
  11. angular指令笔记(一):ng-options
  12. Iconfont 在HTML中的使用
  13. macbook突然没有声音了
  14. Linux中添加、修改和删除用户和用户组
  15. [机翻] WIRER ON THE WIRE - SIGNALR协议的非正式描述
  16. Android 如何执行java命令
  17. Ogre 编辑器一(MyGUI+Ogre整合与主界面)
  18. SUSE11&amp;12 永久关闭防火墙
  19. 玩玩 Nginx 1----- Nginx + ngx_lua安装测试【CentOs下】
  20. js生成pdf报表

热门文章

  1. php快速获取所有的自定义常量用户常量
  2. Java 设计模式系列(十五)迭代器模式(Iterator)
  3. Android JIN简单单步调试
  4. Centos环境下手动设置-网络参数配置-网络挨排错顺序-设置网卡为上网模式的设定
  5. NideShop项目的安装部署教程
  6. 如何搭建eclipse+maven环境
  7. XML--将XML中数据提取出转换成表2
  8. solr分词一:mmseg4j
  9. Tomcat启动报错Invalid character found in method name. HTTP method names must be tokens
  10. [Oracle]Oracle数据库CPU利用率很高解决方案