1492: 取石子游戏

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。  
我们发现有几种状态是必败的:(12)(35)(47)……((12)表示两堆石子的个数是12)。这些状态的产生方法是:第1个数是在前面出现的数字中找出没出现过的最小数字,第2个数就在这个数字的基础上加上自己的序号。例如(47),在前面的(12)(35),中没出现过的最小数是4,现在的序号是34+3=7就是第2个数。
你的任务是列出1500之间的所有必败态,再判断所给的数在你先走时的胜负。

输入

 输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于10000。

输出

先输出500以内所有必败的情况。再输出每组数的胜败,格式见样例。 

样例输入 复制

5 3
2 18
44 7 

样例输出 复制

必输的状态有:
1 2
3 5
4 7
6 10
8 13
9 15
11 18
12 20
14 23
16 26
17 28
19 31
21 34
22 36
24 39
25 41
27 44
29 47
30 49
32 52
33 54
35 57
37 60
38 62
40 65
42 68
43 70
45 73
46 75
48 78
50 81
51 83
53 86
55 89
56 91
58 94
59 96
61 99
63 102
64 104
66 107
67 109
69 112
71 115
72 117
74 120
76 123
77 125
79 128
80 130
82 133
84 136
85 138
87 141
88 143
90 146
92 149
93 151
95 154
97 157
98 159
100 162
101 164
103 167
105 170
106 172
108 175
110 178
111 180
113 183
114 185
116 188
118 191
119 193
121 196
122 198
124 201
126 204
127 206
129 209
131 212
132 214
134 217
135 219
137 222
139 225
140 227
142 230
144 233
145 235
147 238
148 240
150 243
152 246
153 248
155 251
156 253
158 256
160 259
161 261
163 264
165 267
166 269
168 272
169 274
171 277
173 280
174 282
176 285
177 287
179 290
181 293
182 295
184 298
186 301
187 303
189 306
190 308
192 311
194 314
195 316
197 319
199 322
200 324
202 327
203 329
205 332
207 335
208 337
210 340
211 342
213 345
215 348
216 350
218 353
220 356
221 358
223 361
224 363
226 366
228 369
229 371
231 374
232 376
234 379
236 382
237 384
239 387
241 390
242 392
244 395
245 397
247 400
249 403
250 405
252 408
254 411
255 413
257 416
258 418
260 421
262 424
263 426
265 429
266 431
268 434
270 437
271 439
273 442
275 445
276 447
278 450
279 452
281 455
283 458
284 460
286 463
288 466
289 468
291 471
292 473
294 476
296 479
297 481
299 484
300 486
302 489
304 492
305 494
307 497
(5,3)必输
(2,18)可以胜
(44,7)可以胜

提示

打表