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

34620번 - 군꺾문자열

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB30014112449.206%

문제

군꺾문자열은 으로 이루어진 문자열로, 복무율을 표현하는 방법 중 하나이다. 군꺾문자열 $S$가 표현하는 복무율의 값은 다음과 같이 계산한다.

  • 초기 상태에서 $x = 0$이다.
  • $S$를 차례대로 읽으면서 이면 $x$에 1ドル$을 더하고, 이면 $x$를 2ドル$로 나눈다.
  • 모든 글자를 읽은 후 $x$의 값이 $S$가 표현하는 복무율이다.

예를 들어, 군꺾문자열 군꺾군군꺾꺾꺾이 표현하는 복무율 $x$를 계산하는 과정은 다음과 같다.

  1. → $x = 1$
  2. → $x = \frac{1}{2}$
  3. → $x = \frac{3}{2}$
  4. → $x = \frac{5}{2}$
  5. → $x = \frac{5}{4}$
  6. → $x = \frac{5}{8}$
  7. → $x = \frac{5}{16}$

따라서 군꺾군군꺾꺾꺾은 $\frac{5}{16}$의 복무율을 표현한다.

하늘이의 현재 복무율을 뜻하는 기약분수 $\frac{a}{b}$가 주어진다. 이를 정확히 표현하는 가장 짧은 군꺾문자열을 구하여라. 만약 $\frac{a}{b}$를 표현하는 가장 짧은 군꺾문자열이 여러 개라면 그 중 사전순으로 가장 빠른 것을 구하여라.

만약 하늘이의 복무율 $\frac{a}{b}$를 어떤 군꺾문자열로도 표현할 수 없다면 $-1$을 출력한다.

입력

첫째 줄에 정수 $a, b$가 공백을 사이에 두고 주어진다. (1ドル \leq a < b \leq 10^9,ドル $a$와 $b$는 서로소)

출력

첫째 줄에 $\frac{a}{b}$를 표현하는 가장 짧은 군꺾문자열을 출력한다. 만약 $\frac{a}{b}$를 표현하는 가장 짧은 군꺾문자열이 여러 개라면 그 중 사전순으로 가장 빠른 것을 출력한다. 이때 G, K로 출력한다.

만약 하늘이의 복무율 $\frac{a}{b}$를 군꺾문자열로 표현할 수 없다면 첫째 줄에 $-1$을 출력한다.

제한

예제 입력 1

1 4

예제 출력 1

GKK

예제 입력 2

5 7

예제 출력 2

-1

노트

출처

Contest > 보라매컵 > 제5회 보라매컵 B번

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

출처

대학교 대회

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

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