만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

유니콘 마구간

시간 제한5초메모리 제한512 MB

요약
여섯 가지 갈기 색의 개수가 주어질 때, 이웃한 두 유니콘이 같은 기본 색 털을 공유하지 않도록 원형 우리에 배치하고, 사전순으로 가장 앞서는 배열을 출력한다.
난이도

어려움10점 중 8점

유형
그리디, 구현, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

유니콘 NN마리를 기른다. 유니콘의 갈기에는 빨강, 노랑, 파랑 털 가운데 한 가지 또는 두 가지가 들어 있고, 갈기 색은 어떤 털이 들어 있는지로 정해진다.

  • 한 가지 털만 있으면 갈기는 그 털의 색으로 보인다. 파랑 털만 있는 갈기는 파랑이다.
  • 빨강 털과 노랑 털이 함께 있으면 주황으로 보인다.
  • 노랑 털과 파랑 털이 함께 있으면 초록으로 보인다.
  • 빨강 털과 파랑 털이 함께 있으면 보라로 보인다.

갈기가 빨강, 주황, 노랑, 초록, 파랑, 보라인 유니콘이 각각 RR, OO, YY, GG, BB, VV마리 있다.

칸 NN개가 고리 모양으로 이어진 마구간을 지었다. 칸마다 이웃한 칸이 정확히 두 개다. 여기에 유니콘을 한 칸에 한 마리씩 넣으려 한다. 다만 갈기에 같은 색 털이 하나라도 함께 들어 있는 두 유니콘은 이웃할 수 없다. 주황 갈기와 보라 갈기는 둘 다 빨강 털이 있어서 이웃할 수 없고, 초록 갈기와 노랑 갈기는 둘 다 노랑 털이 있어서 이웃할 수 없다.

유니콘을 모두 넣을 수 있는지 판정하고, 넣을 수 있으면 배치를 출력한다.

입력

첫 줄에 테스트 케이스 수 TT가 주어진다. 다음 TT개의 줄에 테스트 케이스가 한 줄에 하나씩 주어진다. 각 줄에는 정수 일곱 개 NN, RR, OO, YY, GG, BB, VV가 공백으로 구분되어 있다.

제한

  • 1≤T≤1001 \le T \le 100
  • 3≤N≤10003 \le N \le 1000
  • R+O+Y+G+B+V=NR + O + Y + G + B + V = N
  • RR, OO, YY, GG, BB, VV는 모두 00 이상이다.

출력

테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx는 11부터 시작하는 테스트 케이스 번호다.

유니콘을 모두 넣을 수 없으면 yy는 IMPOSSIBLE이다. 넣을 수 있으면 yy는 길이가 NN인 문자열이고, 칸 하나를 골라 거기서부터 시계 방향으로 읽은 배치를 뜻한다. 빨강 갈기는 R, 주황은 O, 노랑은 Y, 초록은 G, 파랑은 B, 보라는 V로 쓴다. 칸이 고리를 이루므로 문자열의 첫 글자와 마지막 글자도 서로 이웃이다.

가능한 배치가 여럿이면, 시작 칸을 고르는 방법까지 포함해 얻을 수 있는 문자열 가운데 사전순으로 가장 앞서는 것 하나만 출력한다. 글자 순서는 B, G, O, R, V, Y 순이다.

설명

칸이 세 개인 마구간은 세 칸이 서로 모두 이웃이므로, 갈기 색이 같은 유니콘 두 마리를 함께 넣을 수 없다.

빨강, 노랑, 파랑 갈기가 두 마리씩일 때 BYBRYR는 규칙에 맞는 배치다. 사전순으로 더 앞서는 배치가 있으므로 답으로 출력하지는 않는다. 같은 조건에서 BYRYRB는 규칙 자체를 어긴다. 마지막 B와 첫 B가 이웃이기 때문이다.

BRYBGR도 규칙에 어긋난다. 파랑 갈기와 초록 갈기가 이웃하는데, 두 갈기 모두 파랑 털이 있다.

예제2

  1. 예제 1

    입력
    4
    6 2 0 2 0 2 0
    3 1 0 2 0 0 0
    6 2 0 1 1 2 0
    4 0 0 2 0 0 2
    
    예상 출력
    Case #1: BRBYRY
    Case #2: IMPOSSIBLE
    Case #3: BRGRBY
    Case #4: VYVY
    
  2. 예제 2

    입력
    6
    3 1 0 1 0 1 0
    3 3 0 0 0 0 0
    3 0 1 0 0 2 0
    4 2 0 0 2 0 0
    6 0 3 0 0 3 0
    3 2 0 0 1 0 0
    
    예상 출력
    Case #1: BRY
    Case #2: IMPOSSIBLE
    Case #3: IMPOSSIBLE
    Case #4: GRGR
    Case #5: BOBOBO
    Case #6: IMPOSSIBLE