zoukankan      html  css  js  c++  java
  • 取石子

    http://codeforces.com/gym/101808/problem/I

    题意:给出n堆石子,两种拿取方法:

    1、从一堆中取出一个

    2、从所有堆中取出一个(条件每一堆至少一个)

    分类讨论:

    1、当sum 为奇数,且有奇数组,不管如何取都不会改变双方面对sum的奇偶性,所以先手胜。

    2、当sum为奇数,且有偶数组,先手可以(根据第4种情况,如果最小值为奇数就取1个,否则取n个)控制操作2使得最终为奇数。

    3、当sum为偶数,且有奇数组,同一,先手输。

    4、当sum为偶数,且有偶数组,最小值为奇数,则先手胜,最小值为偶数,先手输。

     

    #include <iostream>
    #include <iostream>
    #include<cstdio>
    #include<string>
    #include<cstring>
    #include<algorithm>
    #include <stdio.h>
    #include <string.h>
    using namespace std;
    
    int a[109] ;
    
    int main()
    {
        int n ;
        scanf("%d" , &n);
        while(n--)
        {
            int m , x; 
            cin >> m ;
            int sum = 0 ;
            for(int i = 0 ; i < m ; i++)
            {
                cin >> a[i];
                sum += a[i];
            }
            sort(a , a + m);
            x = a[0] ;
            if(m % 2 == 1)
            {
                if(sum % 2 == 1)
                    cout << "Yalalov" << endl ;
                else
                    cout << "Shin" << endl ;
            }
            else
            {
                if(sum % 2 == 1)
                    cout << "Yalalov" << endl ;
                else
                {
                    if(x % 2 == 1)
                        cout << "Yalalov" << endl;
                    else
                        cout << "Shin" << endl;
                        
                }
            }
        }
    
    
        return 0;
    }
    
  • 相关阅读:
    pdf文件的导入导出
    扩展方法用法整理
    c#批量插入数据库Demo
    Linq表达式和Lambda表达式用法对比
    Lambda表达式的诞生过程
    LeetCode77. Combinations(剑指offer38-2)
    LeetCode47.Permutations II(剑指offer38-1)
    LeetCode567. Permutation in String
    LeetCode46. Permutations
    图解HTTP-1.web和网络基础
  • 原文地址:https://www.cnblogs.com/nonames/p/11234617.html
Copyright © 2011-2022 走看看