做出口的网站,网站关键词搜不到,国内做外贸网站的有哪些,知名网站建设推广现在#xff0c;有一个 n 级台阶的楼梯#xff0c;每级台阶上都有若干个石子#xff0c;其中第 i 级台阶上有 ai 个石子(i≥1 )。
两位玩家轮流操作#xff0c;每次操作可以从任意一级台阶上拿若干个石子放到下一级台阶中#xff08;不能不拿#xff09;。
已经拿到地面…现在有一个 n 级台阶的楼梯每级台阶上都有若干个石子其中第 i 级台阶上有 ai 个石子(i≥1 )。
两位玩家轮流操作每次操作可以从任意一级台阶上拿若干个石子放到下一级台阶中不能不拿。
已经拿到地面上的石子不能再拿最后无法进行操作的人视为失败。
问如果两人都采用最优策略先手是否必胜。
输入格式 第一行包含整数 n 。
第二行包含 n 个整数其中第 i 个整数表示第 i 级台阶上的石子数 ai 。
输出格式 如果先手方必胜则输出 Yes。
否则输出 No。
数据范围 1≤n≤105 , 1≤ai≤109 输入样例 3 2 1 3 输出样例 Yes
Nim游戏变种只需异或全部奇数台阶上的石子的个数如果不是0先手胜利。
#include iostream
#include algorithmusing namespace std;const int N 100010;
int a[N];int main ()
{int n;cinn;int res 0;for(int i 1; i n; i )cina[i];for(int i 1; i n; i 2) //只记录奇数台阶上的res ^ a[i];if(res) puts(Yes);else puts(No);return 0;
}