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