AT_abc278_f [ABC278F] Shiritori

题目描述

给定 $N$ 个字符串 $S_1, S_2, \ldots, S_N$。每个 $S_i\ (1\leq i\leq N)$ 都是由小写英文字母组成的非空字符串,长度不超过 $10$,且互不相同。 太郎君(先手)和次郎君(后手)进行“接龙”游戏。两人轮流操作,太郎君先手。每一回合,当前玩家需要选择一个整数 $i\ (1\leq i\leq N)$,并满足以下两个条件: - $i$ 不能等于之前所有回合中已经被选择过的任意整数; - 如果这不是第一回合,设上一次选择的整数为 $j$,则 $S_j$ 的最后一个字母必须等于 $S_i$ 的第一个字母。 如果某位玩家无法选择满足条件的 $i$,则该玩家输,另一位玩家获胜。 请判断当两人都采取最优策略时,谁会获胜。

输入格式

输入按以下格式从标准输入读入: > $N$ > $S_1$ > $S_2$ > $\vdots$ > $S_N$

输出格式

如果先手太郎君获胜,输出 `First`;如果后手次郎君获胜,输出 `Second`。

说明/提示

## 限制条件 - $1 \leq N \leq 16$ - $N$ 为整数 - $S_i\ (1\leq i\leq N)$ 是由小写英文字母组成的非空字符串,长度不超过 $10$ - $S_i \neq S_j\ (1\leq i < j \leq N)$ ## 样例解释 1 例如,游戏可以如下进行。注意,这个过程中的两人操作不一定都是最优的。 - 先手太郎君选择 $i=3$,$S_i=$`if`。 - 后手次郎君选择 $i=2$,$S_i=$`float`,且 `if` 的最后一个字母和 `float` 的第一个字母相同。 - 先手太郎君选择 $i=5$,$S_i=$`takahashi`,且 `float` 的最后一个字母和 `takahashi` 的第一个字母相同。 - 后手次郎君无法选择 $i\neq2,3,5$ 且 $S_i$ 的第一个字母为 `i` 的字符串,因此失败。 此时,先手太郎君获胜。 由 ChatGPT 4.1 翻译