AT_arc209_a.[ARC209A] Bracket Game
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个只由 ( 和 ) 组成的字符串 S。
太郎和次郎将用这个字符串玩如下的游戏。
太郎先手,次郎后手,他们轮流选择并进行以下三种操作之一:
- 删除 S 的第一个字符。
- 删除 S 的最后一个字符。
- 宣告终止。
当 S 的长度恰好变为 K,或有任意一方宣告终止时,游戏结束。游戏结束时,若 S 是一个合法括号序列,则次郎获胜;否则,太郎获胜。
在游戏开始前,你会得到 S。请你判断当双方都采取最优策略时,谁会获胜。
你需要完成 T 组测试,每组分别求解。
什么是一个合法括号序列?只要把字符串中连续的 () 作为一个子串删去,反复多次能将整个字符串删成空串,就认为它是一个合法括号序列。
输入格式
从标准输入读入,输入格式如下:
T
case1
case2
⋮
caseT
每组测试数据格式如下:
S K
输出格式
对于每组测试数据,如果太郎获胜则输出 First,如果次郎获胜则输出 Second。
输入输出样例
输入#1
4 (()()) 2 (())() 2 (() 2 (()()())((()()(())())) 12
输出#1
Second First First First
说明/提示
样例解释 1
对于第一组测试数据,游戏可能的过程如下:
- 游戏开始前,S 为
(()())。 - 太郎删除 S 的第一个字符,变为
()())。 - 接下来,次郎删除 S 的最后一个字符,变为
()()。 - 然后,太郎删除 S 的最后一个字符,变为
()(。 - 接下来,次郎删除 S 的最后一个字符,变为
(),此时 S 的长度变为 K=2,游戏结束。 - 最终 S 是一个合法括号序列,所以次郎获胜。
再比如,对于第三组测试数据,太郎可以在第一轮直接宣告终止获胜。
数据范围
- 1≤T≤105
- 1≤K<∣S∣≤106
- S 是只包含
(和)的字符串。 - T 和 K 是整数。
- 所有测试数据的 ∣S∣ 之和不超过 106。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?