A16109. Not a Substring
编程题
普及/提高-
知识点
题目描述
A bracket sequence is a string consisting of characters '(' and/or ')'. A regular bracket sequence is a bracket sequence that can be transformed into a correct arithmetic expression by inserting characters '1' and '+' between the original characters of the sequence. For example:
- bracket sequences "()()" and "(())" are regular (they can be transformed into "(1)+(1)" and "((1+1)+1)", respectively);
- bracket sequences ")(", "(" and ")" are not regular.
You are given a bracket sequence $s$ ; let's define its length as $n$ . Your task is to find a regular bracket sequence $t$ of length $2n$ such that $s$ does not occur in $t$ as a contiguous substring, or report that there is no such sequence.
- bracket sequences "()()" and "(())" are regular (they can be transformed into "(1)+(1)" and "((1+1)+1)", respectively);
- bracket sequences ")(", "(" and ")" are not regular.
You are given a bracket sequence $s$ ; let's define its length as $n$ . Your task is to find a regular bracket sequence $t$ of length $2n$ such that $s$ does not occur in $t$ as a contiguous substring, or report that there is no such sequence.
输入格式
The first line contains a single integer $t$ ( $1 \le t \le 1000$ ) — the number of test cases.
The only line of each test case contains a string $s$ ( $2 \le |s| \le 50$ ), consisting of characters "(" and/or ")".
The only line of each test case contains a string $s$ ( $2 \le |s| \le 50$ ), consisting of characters "(" and/or ")".
输出格式
For each test case, print the answer to it. If there is no required regular bracket sequence, print NO in a separate line. Otherwise, print YES in the first line, and the required regular bracket sequence $t$ itself in the second line. If there are multiple answers — you may print any of them.
输入输出样例
输入 #1
4 )( (() () ))()
输出 #1
YES (()) YES ()()() NO YES ()(()())