【LA5059】Playing With Stones (SG函数)
2024-08-30 21:15:46
题意:有n堆石子,分别有a[i]个。两个游戏者轮流操作,每次可以选一堆,拿走至少一个石子,但不能拿走超过一半的石子。
谁不能拿石子就算输,问先手胜负情况
n<=100,1<=a[i]<=2e18
思路:打表找SG函数的规律
当n为偶数时,SG(n)=n/2
当n为奇数时,SG(n)=SG(n/2)
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
typedef long long ll;
using namespace std;
#define N 110
#define oo 10000000
#define MOD 1000000007 ll sg(ll x)
{
if(x&) return sg(x/);
return x/;
} int main()
{
int cas;
scanf("%d",&cas);
while(cas--)
{
int n;
scanf("%d",&n);
ll ans=;
for(int i=;i<=n;i++)
{
ll x;
scanf("%lld",&x);
ans^=sg(x);
}
if(ans) printf("YES\n");
else printf("NO\n");
}
return ;
}
最新文章
- ABP使用及框架解析系列 - [Unit of Work part.2-框架实现]
- java向oracle数据库中插入当前时间
- [转载]ExtJs4 笔记(8) Ext.slider 滚轴控件、 Ext.ProgressBar 进度条控件、 Ext.Editor 编辑控件
- 一模 (6) day2
- css标准导航代码
- IOS 客户端测试入门.pdf
- 对于System.Net.Http的学习(一)——System.Net.Http 简介(转)
- Select * 一定不走索引是否正确?
- .Net之用户控件笔记
- C语言之二维数组棋盘游戏
- AFN中请求序列化的设置
- python接口自动化(一)--什么是接口、接口优势、类型(详解)
- P5284 [十二省联考2019]字符串问题
- 【原创】驱动卸载之ControlService函数
- JS实现网站内容的禁止复制和粘贴、另存为
- HTTP数据组织方式
- css实现三栏布局,两边定宽,中间自适应
- Scramble String leetcode java
- 2018.07.28 uoj#164. 【清华集训2015】V(线段树)
- 关于SpringCloud微服务架构概念的一点理解