hdu 5724-Chess(状态压缩+sg函数)
代码:
#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函数)的更多相关文章
- HDU 5724 Chess (状态压缩sg函数博弈) 2016杭电多校联合第一场
题目:传送门. 题意:有n行,每行最多20个棋子,对于一个棋子来说,如果他右面没有棋子,可以移动到他右面:如果有棋子,就跳过这些棋子移动到后面的空格,不能移动的人输. 题解:状态压缩博弈,对于一行2^ ...
- HDU 5724 Chess(国际象棋)
HDU 5724 Chess(国际象棋) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Oth ...
- hdu 5094 Maze 状态压缩dp+广搜
作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4092176.html 题目链接:hdu 5094 Maze 状态压缩dp+广搜 使用广度优先 ...
- HDU 5724 Chess(SG函数+状态压缩)
http://acm.split.hdu.edu.cn/showproblem.php?pid=5724 题意: 现在有一个n*20的棋盘,上面有一些棋子,双方每次可以选择一个棋子把它移动到其右边第一 ...
- HDU 5724 Chess (sg函数)
Chess 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5724 Description Alice and Bob are playing a s ...
- HDU 5724 Chess(SG函数)
Chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submi ...
- HDU 5724 Chess(博弈论)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5724 [题目大意] 给出一个n行,每行有20格的棋盘,棋盘上有一些棋子,每次操作可以选择其中一个棋 ...
- POJ2425 A Chess Game[博弈论 SG函数]
A Chess Game Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 3917 Accepted: 1596 Desc ...
- poj 2425 A Chess Game(SG函数)
A Chess Game Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 3551 Accepted: 1440 Desc ...
随机推荐
- JSON—fastJSON
FastJSON的简介和作用? 1:基于java实现的JSON解析器和生成器 2:将java对象序列化成JSON字符串 3:将JSON字符串反序列化得到java对象 (在服务端生成java是很麻烦的事 ...
- shell篇(一)
login shell与non-login shell: login shell:取得shell时,需要完整的登入流程.如:tty1~tty6登入时,需要输入用户名和密码.此时取得的shell就称为l ...
- 谷歌浏览器使用IE内核
经常使用谷歌浏览器去到处溜达,可是,居然还不知道谷歌浏览的还有很多新鲜的设置,昨天遇到了调试一个脚本没有出现效果,而在IE中就可以显示所谓的效果: 查询了下,看到谷歌浏览器确实对脚本的部分样式要求还是 ...
- spring mvc interceptors
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:e ...
- Linux命令: 结束命令
1)ctrl+c,退出命令 2)q,退出文件
- Yahoo数据仓库架构简介
1. Yahoo数据仓库的整体架构 Yahoo数据仓库在基础架构上由hadoop集群和Oracle集群组成,hadoop集群是一个计算平台,完成所有ETL数据处理过程:Oracle集群只是一个查询环境 ...
- 在windows上构建LLVM 7.0.1
关于在windows上构建LLVM,网上有不少文章,但都是互相抄来的,写作时极不认真,不是少这个,就是少那个,没有一篇是可以完整照着做下来的,实在气人. 本文的安装和配置过程,我亲自操作过好几遍,不惜 ...
- Python之CMDB资产管理系统
最近正好在给公司做CMDB资产管理系统,现在做的也差不多了,现在回头吧思路整理下. CMDB介绍 CMDB --Configuration Management Database 配置管理数据库, C ...
- 20145303刘俊谦 《网络对抗》Exp9 Web安全基础实践
20145303刘俊谦 <网络对抗>Exp9 Web安全基础实践 基础问题回答 1.SQL注入原理,如何防御 SQL注入 就是通过把SQL命令插入到"Web表单递交"或 ...
- Adobe漏洞攻击
Adobe漏洞攻击 windows ip 开启msfconsole 进入攻击模块 设置攻击载荷payload 设置相关参数 确定需要修改的参数 exploit生成5303.pdf 将pdf复制到靶机里 ...