AT_arc209_a [ARC209A] Bracket Game

题目描述

有一个只由 `(` 和 `)` 组成的字符串 $S$。 太郎和次郎将用这个字符串玩如下的游戏。 太郎先手,次郎后手,他们轮流选择并进行以下三种操作之一: - 删除 $S$ 的第一个字符。 - 删除 $S$ 的最后一个字符。 - 宣告终止。 当 $S$ 的长度恰好变为 $K$,或有任意一方宣告终止时,游戏结束。游戏结束时,若 $S$ 是一个合法括号序列,则次郎获胜;否则,太郎获胜。 在游戏开始前,你会得到 $S$。请你判断当双方都采取最优策略时,谁会获胜。 你需要完成 $T$ 组测试,每组分别求解。 什么是一个合法括号序列?只要把字符串中连续的 `()` 作为一个子串删去,反复多次能将整个字符串删成空串,就认为它是一个合法括号序列。

输入格式

从标准输入读入,输入格式如下: > $T$ > $case_1$ > $case_2$ > $\vdots$ > $case_T$ 每组测试数据格式如下: > $S$ $K$

输出格式

对于每组测试数据,如果太郎获胜则输出 `First`,如果次郎获胜则输出 `Second`。

说明/提示

### 样例解释 1 对于第一组测试数据,游戏可能的过程如下: - 游戏开始前,$S$ 为 `(()())`。 - 太郎删除 $S$ 的第一个字符,变为 `()())`。 - 接下来,次郎删除 $S$ 的最后一个字符,变为 `()()`。 - 然后,太郎删除 $S$ 的最后一个字符,变为 `()(`。 - 接下来,次郎删除 $S$ 的最后一个字符,变为 `()`,此时 $S$ 的长度变为 $K=2$,游戏结束。 - 最终 $S$ 是一个合法括号序列,所以次郎获胜。 再比如,对于第三组测试数据,太郎可以在第一轮直接宣告终止获胜。 ### 数据范围 - $1 \le T \le 10^5$ - $1 \le K < |S| \le 10^6$ - $S$ 是只包含 `(` 和 `)` 的字符串。 - $T$ 和 $K$ 是整数。 - 所有测试数据的 $|S|$ 之和不超过 $10^6$。 由 ChatGPT 5 翻译