AT_tupc2024_r Bracket Game

题目描述

给定一个只包含 `(`、`)` 和 `?` 的偶数长度字符串 $S$。 あおばさん和ひろせさん进行游戏。あおばさん先手,轮流进行如下操作,直到 $S$ 中没有 `?` 为止: - 从 $S$ 中选择一个 `?`,并将其替换成 `(` 或 `)`。 当 $S$ 中不再有 `?` 时,如果 $S$ 是一个正确的括号序列,则あおばさん获胜,否则ひろせさん获胜。 请判断,当两人都采取最优策略时,谁会获胜。 给定 $T$ 组测试数据,每组输入一个 $S$,请分别输出结果。 正确的括号序列定义如下: - 空字符串; - 存在一个正确的括号序列 $S$,将 `(`、$S$、`)` 顺序连接得到的字符串; - 存在非空的两个正确的括号序列 $S$、$T$,将 $S$、$T$ 顺序连接得到的字符串。

输入格式

输入按以下格式给出: > $T$ > $\mathrm{case}_1$ > $\vdots$ > $\mathrm{case}_T$ 每个测试用例为一行字符串 $S$。

输出格式

共输出 $T$ 行。第 $i$ 行输出第 $i$ 个测试用例的答案:如果あおばさん能获胜,输出 `First`,否则输出 `Second`。

说明/提示

### 对于 Universal Cup 参赛者 此题在收录至 Universal Cup 时将删除。因此,如果你要在 AtCoder 的结果用于 Universal Cup,建议优先做其他题目。 ### 样例解释 1 对于第 $1$ 个测试用例,游戏可能的过程如下: - 初始 $S$ 为 `(???`。 - あおばさん将第 $4$ 个字符的 `?` 替换为 `)`,$S$ 变为 `(??)`。 - ひろせさん将第 $2$ 个字符的 `?` 替换为 `)`,$S$ 变为 `()?)`。 - あおばさん将第 $3$ 个字符的 `?` 替换为 `(`,$S$ 变为 `()()`。 - $S$ 中没有 `?` 了,操作结束。$S$ 是一个正确的括号序列,所以あおばさん获胜。 对于第 $1$ 个测试用例,不管ひろせさん怎么操作,あおばさん都可以获胜。 # 数据范围 - $1 \leq T \leq 10^5$ - $2 \leq |S| \leq 10^6$ - $S$ 只包含 `(`、`)` 和 `?`,且长度为偶数 - 所有测试用例中 $|S|$ 的总和不超过 $10^6$ - $T$ 是整数 由 ChatGPT 5 翻译