아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

남자아이와 여자아이

시간 제한2초메모리 제한256 MB

요약
n명의 아이를 원형으로 B/G로 배치해 boy 옆에 서는 아이가 정확히 x명, girl 옆에 서는 아이가 정확히 y명이 되게 하고, 사전순으로 가장 작은 문자열을 출력한다.
난이도

쉬움10점 중 2점

유형
구현, 완전 탐색, 문자열
정답자
아직 제출이 없습니다

문제

nn명의 아이가 원을 이루어 서 있다. 원에서 어떤 아이의 바로 옆에 선 아이를 그 아이의 이웃이라 한다. 이웃 중에 남자아이가 한 명이라도 있는 아이는 남자아이 옆에 선 아이이고, 이웃 중에 여자아이가 한 명이라도 있는 아이는 여자아이 옆에 선 아이다. nn이 2면 두 아이가 서로의 유일한 이웃이다.

남자아이 옆에 선 아이가 정확히 xx명, 여자아이 옆에 선 아이가 정확히 yy명인 배치를 찾아라.

입력

첫째 줄에 정수 nn, xx, yy가 공백으로 구분되어 주어진다. (2≤n≤1000002 \le n \le 100000, 0≤x,y≤n0 \le x, y \le n)

출력

조건을 만족하는 배치가 없으면 Impossible을 출력한다.

배치가 있으면 길이 nn인 문자열 하나를 출력한다. 남자아이는 B, 여자아이는 G로 적고, 원을 한 방향으로 돌면서 만나는 순서대로 아이를 쓴다. 어느 아이에서 시작해도 되므로 한 배치를 회전한 문자열도 모두 조건을 만족한다. 조건을 만족하는 문자열이 여러 개면 사전순으로 가장 앞선 것을 출력한다. 사전순 비교에서 B가 G보다 앞선다.

예제12

  1. 예제 1

    입력
    10 5 7
    
    예상 출력
    BGBGBGBGGG
    
  2. 예제 2

    입력
    10 3 8
    
    예상 출력
    Impossible
    
  3. 예제 3

    입력
    2 1 1
    
    예상 출력
    BG
    
  4. 예제 4

    입력
    2 2 0
    
    예상 출력
    BB
    
  5. 예제 5

    입력
    2 0 2
    
    예상 출력
    GG
    
  6. 예제 6

    입력
    3 2 3
    
    예상 출력
    BGG
    
  7. 예제 7

    입력
    7 7 0
    
    예상 출력
    BBBBBBB
    
  8. 예제 8

    입력
    6 0 6
    
    예상 출력
    GGGGGG
    
  9. 예제 9

    입력
    12 12 12
    
    예상 출력
    BBGGBBGGBBGG
    
  10. 예제 10

    입력
    16 12 12
    
    예상 출력
    BBBBBBGGBBGGGGGG
    
  11. 예제 11

    입력
    16 13 13
    
    예상 출력
    BBBBBGGBBGGBGGGG
    
  12. 예제 12

    입력
    9 6 9
    
    예상 출력
    BBGGBGGGG