Alice and Bob are playing a game called 'Gameia ? Gameia !'. The game goes like this : 
0. There is a tree with all node unpainted initial. 
1. Because Bob is the VIP player, so Bob has K chances to make a small change on the tree any time during the game if he wants, whether before or after Alice's action. These chances can be used together or separate, changes will happen in a flash. each change is defined as cut an edge on the tree. 
2. Then the game starts, Alice and Bob take turns to paint an unpainted node, Alice go first, and then Bob. 
3. In Alice's move, she can paint an unpainted node into white color. 
4. In Bob's move, he can paint an unpainted node into black color, and what's more, all the other nodes which connects with the node directly will be painted or repainted into black color too, even if they are white color before. 
5. When anybody can't make a move, the game stop, with all nodes painted of course. If they can find a node with white color, Alice win the game, otherwise Bob. 
Given the tree initial, who will win the game if both players play optimally?

InputThe first line of the input gives the number of test cases T; T test cases follow. 
Each case begins with one line with two integers N and K : the size of the tree and the max small changes that Bob can make. 
The next line gives the information of the tree, nodes are marked from 1 to N, node 1 is the root, so the line contains N-1 numbers, the i-th of them give the farther node of the node i+1.

Limits 
T≤100T≤100 
1≤N≤5001≤N≤500 
0≤K≤5000≤K≤500 
1≤Pi≤i1≤Pi≤iOutputFor each test case output one line denotes the answer. 
If Alice can win, output "Alice" , otherwise "Bob".Sample Input

  1. 2
  2. 2 1
  3. 1
  4. 3 1
  5. 1 2

Sample Output

  1. Bob
  2. Alice
    这是一道博弈加上图论的题目,其中博弈的思想比较有意思。
    先给出官方题解:

  1. 首先解释一下题意,题目说的是,树上不能有白点,否则Alice赢,即使这白点是被切开了,依旧是Alice赢。我只说关键的题意。
    接着就是特权的作用:切断之后,防止黑色染到相邻节点,避免节点被染之后自己无处落脚。
  2.  
  3. 题解看不懂的来这里,首先如果树的大小为3的话,alice必赢,因为可以染中间的点,然后无论bob是否能切断,alice都可以染白另一点。
    如果是奇数大小的话,Alice必赢,因为Alice可以每次染父节点,将数的大小减二,长此以往,树的大小必然为3,这样Alice必赢。
    如果bob能把树分成两个一组的点对,这样bob必赢,这句话里面隐藏了三条信息,首先数是偶数大小,第二bob拥有足够的特权数,即能大于等于n/2-1
    还有就是某一的节点的叶子节点数,如果是奇数个叶子节点的话,bob是无法通过足够的特权将数分成两个一对的点对。
    你可以画一个杠铃,然后每个杠铃上再连接两个分开的点,这样就有两个三角型的形状连接在一起了,无论bob有多少特权,这图Alice必赢。虽然图的大小为偶数
    bob特权数足够,但是这有奇数个叶子节点,带上它的父节点,bob跟不上alice的节奏,他必输。这也就是递归所有子节点,求它的数目的原因。
    这题大致就是这个思路了,没想明白的可以再仔细想想。既然做了ACM,那就放飞思想吧!

Gameia的更多相关文章

  1. 2017ACM暑期多校联合训练 - Team 6 1010 HDU 6105 Gameia (博弈)

    题目链接 Problem Description Alice and Bob are playing a game called 'Gameia ? Gameia !'. The game goes ...

  2. HDU 6105 - Gameia | 2017 Multi-University Training Contest 6

    /* HDU 6105 - Gameia [ 非平等博弈 ] | 2017 Multi-University Training Contest 6 题意: Bob 可以把一个点和周围所有点都染黑,还有 ...

  3. 2017多校第6场 HDU 6105 Gameia 博弈

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6105 题意:Alice和Bob玩一个游戏,喷漆!现在有一棵树上边的节点最开始都没有被染色.游戏规则是: ...

随机推荐

  1. 洛谷 - P1337 - 平衡点/吊打XXX

    一眼看过去以为是模拟退火/随机增量之类的.感觉先跑个凸包,然后在凸包内随机转移. 根据力臂长度*重量计算每个方向的分力?判断一个点比原来的点更平衡,是指他们的合力更接近0?每次判断要遍历一次,使用n的 ...

  2. 洛谷 - P2578 - 九数码游戏 - bfs

    https://www.luogu.org/problemnew/show/P2578 一个挺搞的东西,用康托展开做记忆化搜索可以少一个log的查询. #include <bits/stdc++ ...

  3. python __builtins__ license类 (41)

    41.'license', 许可证,执照 class _Printer(builtins.object) | interactive prompt objects for printing the l ...

  4. 第三篇 .NET高级技术之深拷贝和浅拷贝

    深拷贝.浅拷贝 如果拷贝的时候共享被引用的对象就是浅拷贝,如果被引用的对象也拷贝一份出来就是深拷贝.(深拷贝就是说重新new一个对象,然后把之前的那个对象的属性值在重新赋值给这个用户) using S ...

  5. c#数据类型和类型转换

    C# 数据类型 在 C# 中,变量分为以下几种类型: 值类型(Value types) 引用类型(Reference types) 指针类型(Pointer types) 值类型(Value type ...

  6. Win10 Hyper-v 中安装 CentOS 搭建开发环境

    Windows 环境 操作系统:Windows 10 开发环境:VS2005(需启动.NET Framework 3.5 ,才能正常安装使用)  Linux 环境 发行版:CentOS 7_x64 安 ...

  7. Sqlserver调用WebApi

    原文地址   http://www.cnblogs.com/lflyq/p/6065160.html sp_configure 'show advanced options', 1;GORECONFI ...

  8. 代码文件导到word里

    # 创建并写入word文档 import docx import sys import os dir = "D:\\gitwork\\fm.qimeng.c-class\\src\\main ...

  9. jquery实现上传图片及图片大小验证、图片预览效果代码

    jquery实现上传图片及图片大小验证.图片预览效果代码 jquery实现上传图片及图片大小验证.图片预览效果代码 上传图片验证 */ function submit_upload_picture() ...

  10. 伟景行 citymaker 从入门到精通(3)——点击地图获取坐标,点击模型获取模型信息和属性信息

    在地图上点击要素查看要素信息,也就是identify功能 script部分 // 通过枚举索引获取枚举名称 function getEnumTextByIdx(enumObj, idx) { for ...