hdu 5724-Chess

代码:

#include<bits/stdc++.h>
using namespace std;
const int N=;
int SG[<<N];
bool S[N];
void get_SG(int n)
{
memset(SG,,sizeof(SG));
for(int i=;i<n;i++)
{
memset(S,false,sizeof(S));
for(int j=;j>=;j--)
{
if(i&(<<j))
{
for(int k=j-;k>=;k--)
{
if(!(i&(<<k)))
{
int temp=i;
temp^=(<<j)^(<<k);
S[SG[temp]]=true;
break;
}
}
}
}
for(int j=;j<N;j++)
if(!S[j])
{
SG[i]=j;
break;
}
}
}
int main()
{
//ios::sync_with_stdio(false);
//cin.tie(0);
int t;
get_SG(<<);
scanf("%d",&t);
while(t--)
{
int n,m,a,ans=;
scanf("%d",&n);
while(n--)
{
scanf("%d",&m);
int temp=;
while(m--)
{
scanf("%d",&a);
temp^=(<<(-a));
}
ans^=SG[temp];
}
if(ans)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return ;
}

hdu 5724-Chess(状态压缩+sg函数)的更多相关文章

  1. HDU 5724 Chess (状态压缩sg函数博弈) 2016杭电多校联合第一场

    题目:传送门. 题意:有n行,每行最多20个棋子,对于一个棋子来说,如果他右面没有棋子,可以移动到他右面:如果有棋子,就跳过这些棋子移动到后面的空格,不能移动的人输. 题解:状态压缩博弈,对于一行2^ ...

  2. HDU 5724 Chess(国际象棋)

    HDU 5724 Chess(国际象棋) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Oth ...

  3. hdu 5094 Maze 状态压缩dp+广搜

    作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4092176.html 题目链接:hdu 5094 Maze 状态压缩dp+广搜 使用广度优先 ...

  4. HDU 5724 Chess(SG函数+状态压缩)

    http://acm.split.hdu.edu.cn/showproblem.php?pid=5724 题意: 现在有一个n*20的棋盘,上面有一些棋子,双方每次可以选择一个棋子把它移动到其右边第一 ...

  5. HDU 5724 Chess (sg函数)

    Chess 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5724 Description Alice and Bob are playing a s ...

  6. HDU 5724 Chess(SG函数)

    Chess Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  7. HDU 5724 Chess(博弈论)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5724 [题目大意] 给出一个n行,每行有20格的棋盘,棋盘上有一些棋子,每次操作可以选择其中一个棋 ...

  8. POJ2425 A Chess Game[博弈论 SG函数]

    A Chess Game Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 3917   Accepted: 1596 Desc ...

  9. poj 2425 A Chess Game(SG函数)

    A Chess Game Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 3551   Accepted: 1440 Desc ...

随机推荐

  1. React组件,React和生命周期

    笔记,具体可以看看这个博客: https://segmentfault.com/a/1190000004168886?utm_source=tag-newest react 的jsx document ...

  2. 公司里面用的iTextSharp(教程)---生成一个简答的PDF的语法

    本来打算先写一个项目大家一起练习的,但是后来发现不懂一些基本的语法,几乎做了之后也有些不明白,下面我们一起简简单单的看一下哈~~ 语法1:Document document = new Documen ...

  3. MyBatis学习笔记(四)——解决字段名与实体类属性名不相同的冲突

    转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4264425.html 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演 ...

  4. SpringMVC中controller返回图片(转)

    本文转自:http://blog.csdn.net/u011637069/article/details/51112187 SpringMVC中controller通过返回ModelAndView然后 ...

  5. QImage与QPixmap完全解析

    转载自http://www.civilnet.cn/bbs/browse.php?topicno=4691 用Qt程序在手机上显示一幅图片对编程人员来说是再基础不过的一件事情了.那么先让大家看两段代码 ...

  6. RPC框架原理剖析(含实例)(转)

    转自:http://blog.csdn.net/rulon147/article/details/53814589 一.什么是RPC RPC(Remote Procedure Call Protoco ...

  7. POJO/VO/DTO等对象模型

    JavaBean 要想成为JavaBean,需要满足以下条件: 1,提供一个默认的无参构造函数. 2,需要被序列化并且实现了Serializable接口. 3,可能有一系列可读写属性伴随"g ...

  8. win10 nodejs指定ionic版本安装(npm方式)

    步骤1 node-v6.11.3-x64.msi 下载安装node-v6.11.3-x64.msi, 安装完成后利用cmd通过npm安装 ionic cordova cmd npm install - ...

  9. PHP安装包TS和NTS的区别

    原文链接:http://blog.csdn.net/zhuifengshenku/article/details/38796555 TS指Thread Safety,即线程安全,一般在IIS以ISAP ...

  10. C++ 细小知识点

    1. C++ 拷贝构造函数参数为const类型 原因:因为复制构造函数是用引用方式传递复制对象,引用方式传递的是地址,因此在构造函数内对该引用的修改会影响源对象,防止源对象被修改,就要把参数类型设为c ...