정수 A가 주어질 때, 인접한 두 문자를 교환해 균형 문자열로 만드는 최소 횟수가 정확히 A인 가장 짧은 괄호 문자열을 사전순으로 가장 작게 출력한다.
보통7그리디수학문자열조합론아직 제출이 없습니다시간 제한2초메모리 제한512 MBDave는 "("와 ")"로만 이루어진 문자열을 좋아한다. 그중에서도 균형 잡힌 문자열에 관심이 많다. 균형 잡힌 문자열은 다음 규칙으로 만들어지는 문자열이다.
예를 들어 "()()"와 "(()())"는 균형 잡힌 문자열이고, ")("와 ")()(()"는 균형 잡힌 문자열이 아니다.
Dave에게는 "("와 ")"로만 이루어진 문자열이 하나 있다. 이 문자열은 다음 조건을 모두 만족한다.
Dave의 문자열을 구하시오. 조건을 만족하는 문자열이 여러 개이면 사전순으로 가장 앞선 것을 출력한다. ASCII와 마찬가지로 "("가 ")"보다 작다.
첫째 줄에 정수 A가 주어진다. (1≤A≤109)
첫째 줄에 Dave의 문자열을 출력한다. 조건을 만족하는 문자열이 여러 개이면 사전순으로 가장 앞선 것을 출력한다.
A=1이면 교환 한 번으로 균형 잡힌 문자열이 되는 문자열은 무한히 많고, 그중 가장 짧은 것이 ")("이다.
A=4이면 "))(()("도 교환 4번으로 균형 잡힌 문자열이 되고 그보다 적은 횟수로는 되지 않지만, 사전순으로 더 앞선 ")())(("가 답이다.