zoukankan      html  css  js  c++  java
  • Applese 的取石子游戏( nim博弈 )

    链接:https://ac.nowcoder.com/acm/contest/330/A
    来源:牛客网
     

    Applese 和 Bpplese 在玩取石子游戏,规则如下:

    一共有偶数堆石子排成一排,每堆石子的个数为 aiai。两个人轮流取石子,Applese先手。每次取石子只能取最左一堆或最右一堆,且必须取完。最后取得的石子多者获胜。假设双方都足够聪明,最后谁能够获胜呢?

    输入描述:

    第一行是一个正偶数 n,表示石子的堆数。
    第二行是 n 个正整数 a1,a2,…,ana1,a2,…,an,表示每堆石子的个数。
    

    输出描述:

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

    示例1

    输入

    复制

    4
    2 3 3 3

    输出

    复制

    Applese

    备注:

    2≤n≤1052≤n≤105
    1≤ai≤1051≤ai≤105
    ∑ai∑ai 为奇数

    博弈论之NIM博弈。

    当  a1 XOR a2 XOR……XOR an !=0 ->先手必胜态

    当  a1 XOR a2XOR……XOR an==0 ->先手必败态

    NIM博弈不存在平局

    #include<iostream>
    using namespace std;
    typedef long long LL;
    
    int main()
    {
    	LL n,m,j,k,i,T,x,y;
    	cin>>n;
    	LL ans=0;
    	cin>>x;
    	for (i=0;i<n-1;i++)
    	{
    		cin>>y;
    		x = x^y;
    	}
    	if (x==0)
    	cout<<"Bpplese"<<endl;
    	else
    	cout<<"Applese"<<endl;
    	return 0;
    }
  • 相关阅读:
    作业作业
    Alpha 冲刺 (4/10)
    Alpha 冲刺 (3/10)
    Alpha 冲刺 (2/10)
    Alpha 冲刺 (1/10)
    项目需求分析评审表
    项目需求分析答辩总结
    项目选题报告答辩总结
    UML
    各组项目答辩评分与存在问题
  • 原文地址:https://www.cnblogs.com/Romantic-Chopin/p/12451170.html
Copyright © 2011-2022 走看看