博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu_5963_朋友(找规律)
阅读量:4694 次
发布时间:2019-06-09

本文共 1326 字,大约阅读时间需要 4 分钟。

题目链接:

题意:

中文,不解释

题解:

把样例拿出来看看,你会发现以x为节点是否能赢,就是与x相连的边权值的和或者异或是否为奇数。

1 #include
2 #define F(i,a,b) for(int i=a;i<=b;i++) 3 using namespace std; 4 typedef long long ll; 5 6 const int N=80007; 7 int t,n,m,g[N],nxt[N],v[N],w[N],ed; 8 9 void adg(int x,int y,int z){v[++ed]=y,w[ed]=z,nxt[ed]=g[x],g[x]=ed;}10 11 int main()12 {13 scanf("%d",&t);14 while(t--)15 {16 scanf("%d%d",&n,&m);17 memset(g,0,sizeof(g)),ed=0;18 F(i,1,n-1)19 {20 int x,y,z;21 scanf("%d%d%d",&x,&y,&z);22 adg(x,y,z),adg(y,x,z);23 }24 F(i,1,m)25 {26 int op;27 scanf("%d",&op);28 if(op)29 {30 int x,y,z;31 scanf("%d%d%d",&x,&y,&z);32 for(int i=g[x];i;i=nxt[i])if(v[i]==y){w[i]=z;break;}33 for(int i=g[y];i;i=nxt[i])if(v[i]==x){w[i]=z;break;}34 }else35 {36 int x;37 scanf("%d",&x);38 int ans=0;39 for(int i=g[x];i;i=nxt[i])ans^=w[i];40 if(ans&1)puts("Girls win!");41 else puts("Boys win!");42 }43 }44 }45 return 0;46 }
View Code

 

转载于:https://www.cnblogs.com/bin-gege/p/6033798.html

你可能感兴趣的文章
重大发现: windows下C++ UI库 UI神器-SOUI(转载)
查看>>
linux 压缩文件的命令总结
查看>>
linux tail 命令详解
查看>>
BZOJ-3207 花神的嘲讽计划Ⅰ
查看>>
BZOJ-1069 [SCOI2007]最大土地面积
查看>>
进程与线程的一个简单解释【摘】
查看>>
COJ976 WZJ的数据结构(负二十四)
查看>>
slid.es – 创建在线幻灯片和演示文稿的最佳途径
查看>>
2016年6月份那些最实用的 jQuery 插件专辑
查看>>
如何在数据库中使用索引
查看>>
ring0
查看>>
windows虚拟机下 安装docker 踩过的坑
查看>>
使用 CXF 做 webservice 简单例子
查看>>
2017-2018-1 20155339 《信息安全系统设计基础》第8周学习总结
查看>>
socket.io 消息发送
查看>>
C# 两个datatable中的数据快速比较返回交集或差集
查看>>
关于oracle样例数据库emp、dept、salgrade的mysql脚本复杂查询分析
查看>>
一些有趣的代码
查看>>
Major Performance Impacts
查看>>
读《图解HTTP》有感-(返回结果的HTTP状态码)
查看>>