打比赛的时候还没学博弈论,打完下来花了半个多小时学完,发现这题就是一道\(SG\)函数

其实当时差一点就\(YY\)出了答案,但是后面太难想,所以没整出来

机房大佬们都说自己没学博弈论,但是都AC

题解

假设先手兔子(我)放的是黑棋,仓鼠(小埋)放的是白棋

首先这道题的\(n\)个环可以认为是\(n\)个独立的\(G_1,G_2,G_3...\)有向图游戏,共同构成\(G\)游戏

那么$SG(G) = SG(G_1) $ \(XOR\) \(SG(G_2)\) \(XOR\) \(SG(G_3)......\)

所以我们只需要构造每个环的\(SG\)函数即可(本题其实不需要构造

咋构造啊

手玩一下样例,发现当\(a[i] = 1\)时有先手必胜态

其他的咋搞呢

好多人手玩样例赌了一下有先手必败态,然后还真的\(A\)了,就连题解都是这么写的……

然而正直的我没……

咳咳,首先有必败态当且仅当所有的空位置都在黑棋旁边。

那么我们就可以列出所有的必败态

首先空位置一定不能挨在一起,不然就可以填上某个颜色的棋

其次省略空位后黑棋白棋一定交替轮流出现,因为假如有两个相同颜色的棋相邻的话,其间必有一个空位,而这个空位可以填另一种颜色的棋

那么最后就可以说明最后黑棋白棋数量一定一样多

考虑奇偶性

当\(a[i]\)为奇数时,下一个轮到黑棋,黑棋如果要摆放,必须与另一个黑棋相邻,先手必败

当\(a[i]\)为偶数时,下一个轮到黑棋,黑棋没得走,先手必败

所以当$a[i] $不为\(1\)时,\(SG(G_i)\)均为\(0\)

为\(1\)时均为\(1\)

那么最后用\(SG\)函数\(XOR\)一下就可以了

代码:

#include<bits/stdc++.h>
using namespace std;
#define rint register int
#define s1 "rabbit\n"
#define s2 "hamster\n"
int n, a[1010], T;
int main( void ){
scanf( "%d", &T );
while( T-- ){
memset( a, 0, sizeof( a ) );
scanf( "%d", &n );
for( rint i = 1; i <= n; i++ ){
int temp; scanf( "%d", &temp );
if( temp == 1 ) a[i] = 1;
else a[i] = 0;
}
for( rint i = 2; i <= n; i++ ) a[1] ^= a[i];
if( a[1] == 1 ) printf( s1 ); else printf( s2 );
}
return 0;
}

最新文章

  1. 设置CentOS不启用图形界面
  2. Raphael实现商品来源去向图
  3. NodeJS模块的使用
  4. 【BZOJ】【4034】【HAOI2015】T2
  5. dom4j修改,获取,增加xml中某个元素的属性值
  6. [杂题]URAL1822. Hugo II&#39;s War
  7. 图论(费用流):BZOJ 4514 [Sdoi2016]数字配对
  8. HTTP学习笔记3-响应结构
  9. Delphi 的接口机制——接口操作的编译器实现过程(1)
  10. The JSON request was too large to be deserialized
  11. 从SQLServer转储数据到MySQL
  12. mysql查询语句中自定义变量(转)
  13. LOJ [#115. 无源汇有上下界可行流](https://loj.ac/problem/115)
  14. oracle sql 添加、修改数据库操作方式
  15. rbac 表结构的。设计
  16. 开发jQuery插件的基本步骤
  17. Transfer files Using sshpass
  18. [BZOJ1758][WC2010]重建计划(点分治+单调队列)
  19. 【iOS】UIWebView HTML5 扩展
  20. Java spring mvc多数据源配置

热门文章

  1. FPGA底层的时钟布线以及内部layout
  2. JavaScript学习总结(三)BOM和DOM详解
  3. hadoop配置文件详解、安装及相关操作补充版
  4. IP地址结构分类(包括主机号和网络好计算)
  5. python djangjo完整的实现添加的实例
  6. 吴裕雄--天生自然python编程:pycharm常用快捷键问题
  7. navicat 导出查询结果
  8. &lt;JZOJ5907&gt;轻功
  9. 2018年宜賓美酒文化節浮空投影舞美特效 / 2018 Yibing Wine Festival Visual Effect Projection
  10. Android编程权威指南(第2版)--第16章 使用intent拍照 挑战练习