首页 > 其他 > 详细

Codeforces Round #646 (Div. 2) C、Game On Leaves

时间:2020-07-22 17:01:16      阅读:64      评论:0      收藏:0      [点我收藏+]

题目链接:C、Game On Leaves

 

题意:

给你一个n个节点的无根树,你每次可以删除一个叶节点。如果谁先删除x号节点谁就赢了。两个人轮流操作

 

题解:

如果x号节点本身就是一个叶节点,那么谁先走,谁赢

否则,也就是只有剩下两个节点时候才能移动x号节点,只需要判断n-2的奇偶性就可以了

 

代码:

#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<string>
#include<queue>
#include<deque>
#include<string.h>
#include<map>
#include <iostream>
#include <math.h>
#define Mem(a,b) memset(a,b,sizeof(a))
const double II = acos(-1);
const double PP = (II*1.0)/(180.00);
using namespace std;
typedef long long ll;
const int INF=0x3f3f3f3f;
const int maxn=1000+10;
int in[maxn];
int  main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n,x;
        cin>>n>>x;
        memset(in,0,sizeof(in));
        for(int i=1; i<=n-1; i++)
        {
            int u,v;
            cin>>u>>v;
            in[u]++;
            in[v]++;
        }
        if(n==1||in[x]==1||n%2==0)
        {
            cout<<"Ayush"<<endl;
        }
        else
            cout<<"Ashish"<<endl;
    }
}

 

Codeforces Round #646 (Div. 2) C、Game On Leaves

原文:https://www.cnblogs.com/kongbursi-2292702937/p/13360840.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!