Michael_Bryant最喜欢的G(al)G(ame)

那些悲伤,那些寂寞,那些几乎让自己放弃生活的希望的痛苦的回忆,绝对绝对不要将它们忘记。

Michael_Bryant最喜欢的番剧

抱歉⋯我已经绝对不可能再获得幸福了,因为⋯我发现⋯ 其实我⋯ 早就已经被幸福包围了

Michael_Bryant正在看的番剧

死亡一点也不温柔,只有无尽的黑暗和孤独。 就算联系得再紧密,人也是孤独的。

bzoj 2940: [Poi2000]条纹

题目链接

传送门

Description

条纹游戏是一个双人的游戏。所需要的物品有一个棋盘以及三种颜色的长方形条纹,这三种颜色分别是红色、绿色和蓝色。所有的红色条纹的尺寸是c1,所有的绿色条纹的尺寸是z1,所有的蓝色条纹的尺寸是n1,这里c,z,n是正整数。每种颜色的条纹每个游戏者都拥有无限多个。
一个棋盘是一个尺寸为p
1的长方形,由p个1*1的方格组成。
游戏者轮流走,每一步都是由一个游戏者任选一种长方形条纹覆盖到棋盘上,并要求遵循以下规则:
l 条纹不能伸出棋盘之外。
l 不能覆盖在已有的条纹之上(即使部分也不行)。
l 条纹的边缘必须与棋盘方格的边缘相重叠。谁不能再走,谁就输了。

先手是指在游戏中第一个走的游戏者。那么是否不管后手怎么走,先手都有必胜策略呢?
任务:
写一个程序:
l 读入条纹的尺寸以及至少一个棋盘的尺寸。
l 对每一个给出的棋盘判断先手是否必胜。
l 将结果输出。

Input

第一行包含三个整数c,z,n(1<=c,z,,n<=1000),表示三种条纹的长度,依次为红色,绿色以及蓝色。每两个数之间都用空格隔开。
文件的第二行包括一个整数m(1 <= m <= 1000)表示需要考虑的不同棋盘个数。以下3到m+2行每行包括一个整数p(1<=p<=1000)。第i+2行表示第i个棋盘的长度。

Output

应当包含m行。只有一个数字应当被写入文件的第i行:
l 1—如果对第i个棋盘先手有必胜策略。
l 2—其它。

Sample Input

1 5 1

3

1

5

6

Sample Output

1

1

2

题解

直接Multi-SG
当你覆盖一些的时候 这个时候你就相当于把这个长方形分成了前后两部分
就是拿出去一点然后把剩下的分成两部分
直接Multi-SG

代码

One Comment

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注

隐藏