zoukankan      html  css  js  c++  java
  • 4A.Applese 的取石子游戏(C++)

    Applese 的取石子游戏(C++)

    点击做题网站链接

    题目描述
    Applese 和 Bpplese 在玩取石子游戏,规则如下:
    一共有偶数堆石子排成一排,每堆石子的个数为 aia_i。两个人轮流取石子,Applese先手。每次取石子只能取最左一堆或最右一堆,且必须取完。最后取得的石子多者获胜。假设双方都足够聪明,最后谁能够获胜呢?

    输入描述:
    第一行是一个正偶数 n,表示石子的堆数。
    第二行是 n 个正整数 a1,a2,,ana_1,a_2,…,a_n,表示每堆石子的个数

    输出描述:
    输出一个字符串“Applese”或“Bpplese”,表示胜者的名字。

    示例1
    输入

    4
    2 3 3 3

    输出
    Applese

    备注:
    2n1052≤n≤10^5
    1ai1051≤a_i≤10^5
    ai∑a_i 为奇数

    题目思路:

    本以为这是一道经典的博弈题目,用动态规划来做。
    但却发现有偶数堆石子,且石子总数为奇数,两个条件就排除了平局的可能性。而且每次取石子只能取最左一堆或最右一堆,且必须取完。所以自己模拟一下,如果你是先手,你每次都可以取多的那一堆,最后当然是先手的石子总数多。

    解题代码:

    #include <iostream>
    using namespace std;
    const int N = 1e+5;
    int main()
    {
    	ios::sync_with_stdio(false);//加速
        int n,a[N];
        cin >> n;
        for(int i=0;i<n;++i) cin >> a[i];
        cout << "Applese" << endl;
    }
    
  • 相关阅读:
    eclipse中包的位置
    404代码错误解决
    servlet-web.xml配置
    java web.xml配置servlet
    1031整理
    1030整理
    rownum
    存储过程和自定义函数的区别
    课堂整理
    练习
  • 原文地址:https://www.cnblogs.com/yuzilan/p/10626093.html
Copyright © 2011-2022 走看看