与传统的SG游戏不同的是,完成最后一个状态的人是输的,我们把这一类问题称作Anti-SG,这类问题的解决我们需要引入一个定理—SJ定理:

  对于任意一个Anti-SG游戏,如果我们规定当局面中所有的单一游戏的SG值为0时,游戏结束,则先手必胜当且仅当:(1)游戏的SG函数不为0且游戏中某个单一游戏的SG函数大于1;(2)游戏的SG函数为0且游戏中没有单一游戏的SG函数大于1。         (引自2009年国家集训队论文贾志豪论文《组合游戏概述——浅谈SG游戏的若干拓展及变形》)

  这样对于这个问题我们就可以很好的解决了:

  1、所有堆的石子数都为1且游戏的SG值为0;

  2、有些堆的石子数大于1且游戏的SG值不为0。

  只有这两种请情况下是先手必胜状态,否则为先手必败状态。

/**************************************************************
Problem:
User: BLADEVIL
Language: Pascal
Result: Accepted
Time: ms
Memory: kb
****************************************************************/ //By BLADEVIL
var
task :longint;
i :longint;
n :longint;
a :array[..] of longint; procedure main;
var
i :longint;
ans :longint;
f :boolean;
begin
read(n);
ans:=;
for i:= to n do read(a[i]);
for i:= to n do ans:=ans xor a[i];
f:=false;
if ans= then
begin
for i:= to n do if a[i]<> then f:=true;
end else
for i:= to n do if a[i]> then f:=true;
if (ans=) and (not f) or (ans<>) and (f) then writeln('John') else writeln('Brother');
end; begin
read(task);
for i:= to task do main;
end.

最新文章

  1. [iOS]技巧集锦:UICollectionView在旋转屏幕后Cell中的约束不起作用或自动布局失效
  2. linux上课
  3. Daily Scrum – 1/7
  4. 杭电1241 Oil Deposits
  5. Java 对字符反转操作。
  6. UVA 11806 Cheerleaders (组合+容斥原理)
  7. html.day01
  8. Sublime Text 2 介紹
  9. 整合初步---------&gt;SSH(注解版)
  10. NOIP[2015] Day2题解
  11. MyBatis_多查询条件问题
  12. 集合框架之Set接口
  13. Mysql insert语句的优化
  14. sql server 通用修改表数据存储过程
  15. (最小生成树 Prim) nyoj1403-沟通无限校园网
  16. 我对于B-树索引的内部结构与索引类型所做的笔记
  17. sqlite数据库中为字段设置默认值为当前时间
  18. 回归Android之Android基础和小常识
  19. KM算法 带权二分匹配 O(n^3)
  20. repo_folder

热门文章

  1. 【APUE】Chapter13 Daemon Processes
  2. Qt Qwdget 汽车仪表知识点拆解1 速度表示
  3. mysql数据备份和还原
  4. C++内置类型如何存放于计算机内存中
  5. NO5——素数筛选
  6. ios UI自动化测试学习笔记
  7. Linux arm64内核启动
  8. 【python】Python3中出现&#39;gbk&#39; codec can&#39;t encode characte的成功解决方法?
  9. java线程(6)——线程池(下)
  10. javaScript运算符学习笔记