翻译
查看原帖
翻译
528430
FiraCode楼主2023/6/16 14:52

LateX好像炸了,修一下:

【问题描述】

小 A 拿来了一堆 n 个石子,邀请小 B 一起玩取石子游戏,规则是每人每次可以取不超 过 33 个石子,谁先取完谁获胜。

小 B 看了一眼石子的个数,在飞快的心算过后,明白了小 A 存心要坑他,于是小 B 提 出了一个新的游戏规则:

每个人每步可以将一堆石子分成 kk 堆(kk ≥ 2),由于小 B 非常喜欢等差数列,尤其喜欢 公差为 11 的等差数列,故要求这 kk 堆石子排成一个公差为 11 的等差数列。换句话说,如果分 出来的每堆石子有 a1a_1, a2a_2, ...... , ana_n个(不妨 a1≤a2≤...≤ana_1 \le a_2 \le ... \le a_n),那么需要满足:
a2a_{2} −− a1a_{1} == a3a_{3} −− a2a_{2} == ...... == ana_{n} −− an−1=1a_{n-1}=1

无法操作的玩家则失败。

小 B 为了显示出自己的友善,让小 A 先取石子。小 A 觉得小 B 也别有用心,但是他自 己并无法一眼看出这个状态是否有必胜方案,于是他找了你,想知道他是否有必胜策略。

小 A 发现,得知是否有必胜策略还不够,他还需要知道先手第一步该如何操作。由于把 石头搬来搬去很累,所以小 A 想知道,若有必胜策略,先手第一步最少分成几堆可以必胜?

【输入格式】

仅一行,一个数 nn,表示初始的一堆石子总数。

【输出格式】

仅一行,一个数,如果小 A 必败,则输出 -1;否则输出所有的小 A 的必胜策略中,第 一步最少需要分成几堆。

源码:

【问题描述】

小 A 拿来了一堆 n 个石子,邀请小 B 一起玩取石子游戏,规则是每人每次可以取不超 过 $3$ 个石子,谁先取完谁获胜。

小 B 看了一眼石子的个数,在飞快的心算过后,明白了小 A 存心要坑他,于是小 B 提 出了一个新的游戏规则:

每个人每步可以将一堆石子分成 $k$ 堆($k$ ≥ 2),由于小 B 非常喜欢等差数列,尤其喜欢 公差为 1 的等差数列,故要求这 k 堆石子排成一个公差为 1 的等差数列。换句话说,如果分 出来的每堆石子有 $a_1$, $a_2$, $...$ , $a_n$个(不妨 $a_1 \le a_2 \le ... \le a_n$),那么需要满足:\
$a_{2}$ $−$ $a_{1}$ $=$ $a_{3}$ $−$ $a_{2}$ $=$ $...$ $=$ $a_{n}$ $−$ $a_{n-1}=1$

无法操作的玩家则失败。

小 B 为了显示出自己的友善,让小 A 先取石子。小 A 觉得小 B 也别有用心,但是他自 己并无法一眼看出这个状态是否有必胜方案,于是他找了你,想知道他是否有必胜策略。

小 A 发现,得知是否有必胜策略还不够,他还需要知道先手第一步该如何操作。由于把 石头搬来搬去很累,所以小 A 想知道,若有必胜策略,先手第一步最少分成几堆可以必胜?

【输入格式】

仅一行,一个数 $n$,表示初始的一堆石子总数。

【输出格式】

仅一行,一个数,如果小 A 必败,则输出 `-1`;否则输出所有的小 A 的必胜策略中,第 一步最少需要分成几堆。

@小粉兔

2023/6/16 14:52
加载中...