Logo
(追記) (追記ここまで)

17428번 - K번째 괄호 문자열

시간 제한메모리 제한제출정답맞힌 사람정답 비율
0.25 초 (추가 시간 없음) 512 MB69436327853.772%

문제

괄호 문자열은 다음과 같이 정의한다.

  • 빈 문자열은 괄호 문자열이다.
  • S가 괄호 문자열일 때, (S)도 괄호 문자열이다.
  • S와 T가 괄호 문자열이라면, ST도 괄호 문자열이다.
  • 모든 괄호 문자열은 위의 3개 규칙으로만 만들 수 있다.

길이가 N인 괄호 문자열 중에 사전순으로 K번째인 문자열을 출력하는 프로그램을 작성하시오. 사전순으로 가장 앞서는 괄호 문자열은 0번째이다. ‘(‘가 ‘)’보다 사전순으로 앞선다.

입력

첫째 줄에 자연수 N과 K가 주어진다.

출력

첫째 줄에 K번째 괄호 문자열을 출력한다. K번째 괄호 문자열이 없는 경우에는 -1을 출력한다.

제한

  • 2 ≤ N ≤ 50, N은 짝수
  • 0 ≤ K ≤ 2N-1

예제 입력 1

4 0

예제 출력 1

(())

예제 입력 2

4 1

예제 출력 2

()()

예제 입력 3

4 2

예제 출력 3

-1

예제 입력 4

6 3

예제 출력 4

()(())

예제 입력 5

10 1

예제 출력 5

(((()())))

예제 입력 6

10 10

예제 출력 6

((())()())

힌트

출처

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /