HDU 6105 - Gameia | 2017 Multi-University Training Contest 6
2024-09-05 06:54:38
/*
HDU 6105 - Gameia [ 非平等博弈 ] | 2017 Multi-University Training Contest 6
题意:
Bob 可以把一个点和周围所有点都染黑,还有 k 次割掉一条边的操作
Alice 可以把一个点染白
A先B后,问谁赢
分析:
如果图中不存在两两匹配,则Bob输
每一次两两匹配都需要一次割边,除了最后一次
如果没能力割边,Bob输
*/
#include <bits/stdc++.h>
using namespace std;
int t, n, k;
vector<int> G[505];
bool ans;
int dfs(int x)
{
int s = 1;
for (auto& y : G[x])
s += dfs(y);
if (s == 2) k--;
if (s > 2) ans = 0;
return s % 2;
}
int main()
{
scanf("%d", &t);
while (t--)
{
scanf("%d%d", &n, &k);
for (int i = 1; i <= n; i++) G[i].clear();
for (int i = 2; i <= n; i++)
{
int x; scanf("%d", &x);
G[x].push_back(i);
}
if (n&1) puts("Alice");
else
{
ans = 1;
dfs(1);
if (!ans || k < -1) puts("Alice");
else puts("Bob");
}
}
}
最新文章
- Python学习总结 01 配置环境
- OrcharNoCMS中的发布订阅使用
- HighChats图表控件显示精度小数点的方法
- Scale和Resolution的含义及转换算法
- PAT (Basic Level) Practise:1026. 程序运行时间
- android用ImageView显示网络图片
- Maven Profile标签
- EasyUi TreeGrid封装
- C语言作业(三)
- Android Wear 2.0 AlarmManager 后台定时任务
- Ruby数组方法整理
- ORM框架SQLAlchemy
- 异步是javascript的精髓
- c/c++ 标准顺序容器 之 push_back,push_front,insert,emplace 操作
- 无备份时用dbms_repair恢复坏块的方法
- Win7升Windows10有获取通知,但是就不推送的解决方法
- P4574 [CQOI2013]二进制A+B
- 8Manage PMP 项目管理工具
- [2018HN省队集训D8T1] 杀毒软件
- 六、使用media实现响应式布局