zoukankan      html  css  js  c++  java
  • Codeforces Round #646 (Div. 2) C、Game On Leaves

    题目链接: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;
        }
    }
  • 相关阅读:
    uva-11129-分治
    HDU 6016
    POJ 2142
    CodeForces 778B
    CodeFroces 758C
    HDU 5900
    HDU 5903
    HDU 5904
    POJ 3080
    HDU 5195
  • 原文地址:https://www.cnblogs.com/kongbursi-2292702937/p/13360840.html
Copyright © 2011-2022 走看看