LINK

题意:树上NIM的模板题,给出一颗树,现有操作删去端点不为根节点的边,其另一端节点都将被移除,不能取者为败

思路:一看就是个NIM博弈题,只是搬到树上进行,树上DFS进行异或 记得#014D题也是博弈...巨水 比赛B题没想出来先做了这题:P

/** @Date    : 2017-07-09 21:15:04
* @FileName: D 树上删边 NIM 博弈.cpp
* @Platform: Windows
* @Author : Lweleth (SoungEarlf@gmail.com)
* @Link : https://github.com/
* @Version : $Id$
*/
#include <bits/stdc++.h>
#define LL long long
#define PII pair
#define MP(x, y) make_pair((x),(y))
#define fi first
#define se second
#define PB(x) push_back((x))
#define MMG(x) memset((x), -1,sizeof(x))
#define MMF(x) memset((x),0,sizeof(x))
#define MMI(x) memset((x), INF, sizeof(x))
using namespace std; const int INF = 0x3f3f3f3f;
const int N = 1e5+20;
const double eps = 1e-8; vectoredg[N];
int get_sg(int x,int pre)
{
int ret = 0;
for(auto i:edg[x])
{
if(i!=pre)
ret^=(1 + get_sg(i, x));
}
return ret;
}
int main()
{
int n;
while(~scanf("%d", &n))
{
for(int i = 1; i <= n; i++)
edg[i].clear();
for(int i=1; i<n; i++)
{
int x, y;
scanf("%d%d",&x, &y);
edg[x].PB(y);
edg[y].PB(x);
}
if(get_sg(1, -1))
puts("Alice");
else
puts("Bob");
}
return 0;
}

最新文章

  1. iOS内支付
  2. CSS实现正方体旋转
  3. Jetty使用教程(四:23)—Jetty开发指南
  4. 【原创】.NET之我见
  5. Gamma校正与线性工作流
  6. [Editor]Unity Editor类常用方法
  7. 日期字符串转换 and 两个日期相减
  8. C#简单注册表操作实例
  9. BZOJ 2115: [Wc2011] Xor
  10. C语言函数可变参数列表
  11. POJ1274 The Perfect Stall【二部图最大匹配】
  12. COCOA&#174; PROGRAMMING FOR MAC&#174; OS X (1)- Get Start
  13. C#对图片进行马赛克处理,可控制模糊程度
  14. 企业SVN版本控制服务器搭建
  15. Mybatis根据List批量查询List结果
  16. Swoole 理解manager进程和worker进程的启动顺序,以及演示如何停止或者重启服务端。
  17. JDK下载-安装-配置
  18. django-媒体文件,图片存储
  19. ModuleNotFoundError: No module named &#39;sqlite&#39;
  20. Swift - 多线程GCD详解

热门文章

  1. c# webBrowser清除缓存问题
  2. 大学网站UI设计分析(以学校领导/历届领导为例)
  3. XML XPath语法总结
  4. Java实现的词频统计
  5. Mysql中的索引
  6. 双主双写、只备份某些表且要在建表ID自增
  7. kafka 基础知识梳理-kafka是一种高吞吐量的分布式发布订阅消息系统
  8. 【HLSDK系列】服务端 AddToFullPack 函数
  9. 洛谷 P4116 Qtree3
  10. IPv4协议及VLSM可变长子网划分和CIDR无类域间路由