AT_arc038_c [ARC038C] 茶碗と豆
题目描述
有 $N$ 个大碗横向排成一列。我们将从左起第 $i$($0 \leq i \leq N-1$)个大碗称为大碗 $i$。大碗 $i$($1 \leq i \leq N-1$)上写有整数 $C_i$,其中放有 $A_i$ 个豆子。大碗 $0$ 上没有写整数,也没有豆子。喜欢玩游戏的兄妹打算用这些大碗和豆子进行如下游戏。
- 玩家在自己的回合中,从除大碗 $0$ 以外的某个大碗中选择一个豆子取出。
- 当从大碗 $i$ 取出一个豆子时,必须将这个豆子放入大碗 $i-C_i$、$i-C_i+1$、...、$i-1$ 中的某一个大碗中。
- 两人轮流进行操作,无法选择豆子的玩家判负(另一方获胜)。
当两人都采取最优策略时,先手和后手谁会获胜?
输入格式
输入以以下格式从标准输入给出。
> $N$
> $C_1$ $A_1$
> $C_2$ $A_2$
> $\vdots$
> $C_{N-1}$ $A_{N-1}$
- 第 $1$ 行给出一个整数 $N$,表示大碗的数量($2 \leq N \leq 10^5$)。
- 接下来的 $N-1$ 行中,第 $i$($1 \leq i \leq N-1$)行给出两个整数 $C_i$($1 \leq C_i \leq i$)、$A_i$($0 \leq A_i \leq 10^9$),表示大碗 $i$ 上写有整数 $C_i$,其中有 $A_i$ 个豆子。保证至少有一个大碗中有豆子,即所有 $A_i$ 的总和不为 $0$。
输出格式
如果先手获胜,输出 `First`;如果后手获胜,输出 `Second`。输出需以换行符结尾。
说明/提示
## 部分分
本题设有部分分。
- 若能通过 $N \leq 100$ 且 $A_i \leq 10$ 的数据集 $1$,可得 $80$ 分。
- 若能通过 $N \leq 100$ 的数据集 $2$,可额外获得 $20$ 分。
- 若能通过所有测试点,可额外获得 $4$ 分。
## 样例解释 1
游戏的进行方式例如如下:
- 第 $1$ 回合:先手从大碗 $2$ 取出一个豆子,放入大碗 $1$。
- 第 $2$ 回合:后手从大碗 $1$ 取出一个豆子,放入大碗 $0$。
- 第 $3$ 回合:无法再选择豆子,先手失败。
在此例中,每回合玩家的选择都只有一种,因此必然如此。
## 样例解释 2
游戏的进行方式例如如下:
- 第 $1$ 回合:先手从大碗 $5$ 取出一个豆子,放入大碗 $4$。
- 第 $2$ 回合:后手从大碗 $4$ 取出一个豆子,放入大碗 $2$。
- 第 $3$ 回合:先手从大碗 $2$ 取出一个豆子,放入大碗 $1$。
- 第 $4$ 回合:后手从大碗 $1$ 取出一个豆子,放入大碗 $0$。
- 第 $5$ 回合:先手从大碗 $1$ 取出一个豆子,放入大碗 $0$。
- 第 $6$ 回合:无法再选择豆子,后手失败。
无论后手如何选择,只要先手采取合适的行动都能获胜。
由 ChatGPT 4.1 翻译