• Game of Nuts


    The war for Westeros is still in process, manpower and supplies are coming to an end and the winter is as near as never before. The game of thrones is unpredictable so Daenerys and Stannis decided to determine the true ruler of Seven Kingdoms playing more predictable and shorter game. For example, the game of nuts is the ideal candidate.

    Rules of this game are quite simple. Players are given n heaps of nuts. There is an odd number of nuts in each heap. Players alternate turns. In each turn player chooses an arbitrary heap and divides it into three non-empty heaps so as there is again an odd number of nuts in each heap. The player who cannot make a move loses.

    Daenerys has dragons so she moves first. Your task is to determine the winner assuming both Daenerys and Stannis play optimally. Please, do it and stop the war for Westeros!

    Input

    In the first line there is an odd integer n (1 ≤ n ≤ 777).

    In the second line there are n integers separated by spaces. These are the amounts of nuts in each heap at the beginning of the game. It is guaranteed that each heap contains not less than one and not more than 54321 nuts and this amount is an odd number.

    Output

    Output "Daenerys" (without quotes) in case of Daenerys’ win. Otherwise output "Stannis".

    Example

    input output
    1
    3
    
    Daenerys
    
    3
    1 1 1
    
    Stannis
    
    5
    777 313 465 99 1
    
    Daenerys

    题意:共有N堆,要求两人先后分大于三的,分成3堆。

    思路:7分成1 1 5 再分5成 1 1 3 再分3 为1 1 1

    大于等于3的进栈

    
    #include <iostream>
    #include <stdio.h>
    #include <deque>
    #include <algorithm>
    using namespace std;
    deque<int>dp;
    int main()
    {
        int n;
        while(scanf("%d",&n)!=EOF)
        {
            int i,s=0,x;
            for(i=0;i<n;i++)
            {
                scanf("%d",&x);
                dp.push_back(x);
            }
            while(!dp.empty())
            {
                x=dp.front();
                if(x>=3)
                {
                    s++;
                    dp.push_back(x-2);
                }
                dp.pop_front();
            }
            if(s%2==0)
                printf("Stannis
    ");
            else
                printf("Daenerys
    ");
        }
        return 0;
    }
    
  • 相关阅读:
    php 获取文件的md5
    php 获取远程文件大小
    chrome 浏览器,大屏显示
    Mac 中Java项目打包上线
    如何在苹果M1芯片 (Apple Silicon) 上安装 JDK 环境
    Mysql 替换数据中的部分内容,比如迁移服务器,需要修改图片地址
    docker安装指定版本minio
    docker 查询镜像并删除
    docker 容器名称已存在
    docker 安装minio
  • 原文地址:https://www.cnblogs.com/zcy19990813/p/9702805.html
Copyright © 2020-2023  润新知