http://acm.hdu.edu.cn/showproblem.php?pid=6741

队友过的,说结论,如果某个叶子节点的父亲有多于1个的儿子节点,先手赢

如果全都是直接连向1的链,那么有一条是奇数长度的链,先手英

为什么我还得想想。。。。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define pii pair<int,int>
#define pil pair<int,ll>
#define mkp make_pair
const int INF=0x3f3f3f3f;
const ll inf=1e18;
const int maxn=1e6+10;
int siz[maxn],fa[maxn],cnt[maxn];
int T,n,m;
vector<int> vec;
struct Edge{int v,nxt;
} edge[maxn<<1];
int head[maxn],tot;void Init()
{tot=0; fa[1]=-1;for(int i=0;i<=n;++i) head[i]=-1,cnt[i]=0;vec.clear();
}void AddEdge(int x,int y)
{edge[tot].v=y;edge[tot].nxt=head[x];head[x]=tot++;
}void dfs(int u)
{for(int i=head[u];~i;i=edge[i].nxt){int v=edge[i].v;if(v==fa[u]) continue;fa[v]=u;dfs(v);}
}int main()
{scanf("%d",&T) ;while(T--){scanf("%d",&n);Init();for(int i=2;i<=n;++i){int x;scanf("%d",&x);cnt[x]++;cnt[i]++;AddEdge(i,x);AddEdge(x,i); }dfs(1); cnt[1]++;for(int i=1;i<=n;++i) if(cnt[i]==1) vec.push_back(i);int flag=0;for(int i=0,len=vec.size();i<len;++i){int v=vec[i];if(cnt[fa[v]]>2) {flag=1;break;}int res=1;while(cnt[fa[v]]==2){v=fa[v];res++;}if(res&1) flag=1;}if(flag==1) puts("Takeru");else puts("Meiya");}return 0;
}

hdu6741 MUV LUV UNLIMITED相关推荐

  1. 2019 China Collegiate Programming Contest Qinhuangdao K. MUV LUV UNLIMITED

    MUV LUV UNLIMITED Link 题目大意:给出一棵树,两人轮流任取(至少取一)当前树上的叶子,最先不能操作的人输. 首先考虑一个情况,若一个叶子节点 x x x 有兄弟,则先手必胜.因为 ...

  2. 2019CCPC秦皇岛 K MUV LUV UNLIMITED(博弈)

    MUV LUV UNLIMITED Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...

  3. K. MUV LUV UNLIMITED(树上博弈)

    原题链接:K. MUV LUV UNLIMITED 题意: 给你一棵 n 个点以 1 为根的有根树.现在有两个人轮流操作,每次操作人可以选出至少1个叶子(没有儿子的点)删掉,无法操作的人失败.二者都是 ...

  4. MUV LUV UNLIMITED(ccpc 秦皇岛2019)

    MUV LUV UNLIMITED(ccpc 秦皇岛2019) 题目描述 There are few entertainments in United Nations 11th Force, Paci ...

  5. HDU 6741 MUV LUV UNLIMITED (博弈论)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6741 题解 看完题解深刻地意识到自己是个智障. (1) 如果某个叶子节点的父亲有多于一个儿子,则为必胜 ...

  6. 2019 CCPC秦皇岛 K.MUV LUV UNLIMITED(博弈)

    2019CCPC秦皇岛K 题意: 两个人玩游戏, 有一棵有根树,每次只能拿叶子节点若干个(不能不拿),问最后谁会赢 思路: 先说结论,数每个叶子节点对应上去的那条链(直到他的父亲除自己外有另外的儿子结 ...

  7. 2019CCPC秦皇岛 K MUV LUV UNLIMITED(思维博弈)

    2019CCPC秦皇岛K 这个题感觉就是头脑风暴吧,关键在于抓住正确的方向想下去,我中间也跑偏了几次... 定义一个分支为从叶子往根的方向,不存在包含多个子节点的节点序列,即从叶子到包含多个子节点的节 ...

  8. 2019ccpc秦皇岛赛区K. MUV LUV UNLIMITED(博弈)

    题目连接 题意:两个人在一棵树上玩游戏,两人轮流在树上选择一个以上的叶子进行删除.最后删掉根节点的人获胜,问是先手必胜还是后手必胜 (1).若只有一条链,则直接判奇偶(废话) (2).若不只一条链,则 ...

  9. MUV LUV UNLIMITED(树上博弈 奇偶性)

    original link - http://acm.hdu.edu.cn/showproblem.php?pid=6741 题意: 给出一棵树,两个人轮流拿一些叶子,最后拿完的人赢. 解析: 单链情 ...

最新文章

  1. mybatis 联查
  2. ways to keep health
  3. 源码安装的php如何启动脚本,PHP源码编译安装管理常用脚本
  4. 中国科技大学计算机学院叶辉,中国科技大学计算机科学与技术学院导师教师师资介绍简介-黄文超...
  5. mysql数据类型选择_MySQL学习笔记(二):MySQL数据类型汇总及选择参考
  6. 关于电量采集芯片(库仑计)DS2781相关操作及配置
  7. JS生成验证码、卡密,生成指定位数的字符串
  8. 用for循环打印出大写字母的ASCII码对照表
  9. dell进入u盘启动模式_戴尔Dell笔记本电脑的BIOS怎么设置从U盘启动
  10. sqli-labs 1~4 多命通关攻略
  11. 单个java文件中引入jar包
  12. 独立开发变现周刊(第83期):建在Stripe上的应用,年收入70万美元
  13. Python爬虫实例 wallhaven网站高清壁纸爬取。
  14. springboot毕设项目海尔空调售后服务系统d70j3(java+VUE+Mybatis+Maven+Mysql)
  15. MIT6.824-lab4A-The Shard controller(基于Raft的Shard KV数据库-分片控制器)
  16. 阿里飞冰官网 Icework 一个集成框架 构建前端工具
  17. 基于C语言实现了PASCAL编译器
  18. 罗永浩锤子ROM Pre-α公测版下载及刷机教程
  19. python3.7输出语句_python3测试工具开发快速入门教程7输入和输出
  20. 史上最全的autojs代码仓库

热门文章

  1. python三维重建代码_三维重建怎么入门?
  2. fiddle解决ajax,AJAX in jsFiddle
  3. 判断 jdk8是否为jce限制版本
  4. 推荐Flash:《我不想说我是鸡》
  5. Android 启动页页面慢 解决方案
  6. 浅谈感知机与神经网络(无师自通)
  7. 电脑经常显示交互式服务器,win10系统打印机出现交互式服务检测的解决办法
  8. ppt软件有哪些,推荐一下
  9. Python 书籍推荐
  10. 自己的老婆自己疼 都看看吧