만드는 중입니다

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

작은 큐브러버

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

요약
각 세 면에 색이 있는 여덟 조각이 주어질 때, 회전과 배치를 조정해 각 면이 한 가지 색인 2x2x2 큐브를 만들 수 있는지 판단합니다.
난이도

보통10점 중 6점

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

문제

작은 큐브러버는 작은 1×1×1 정육면체 조각 8개를 갖고 있었어요. 각 조각에는 색이 칠해진 스티커가 붙은 면이 세 개씩 있고, 그 세 면은 하나의 꼭짓점을 공유해요. 작은 큐브러버는 이 조각들을 조립해서, 각 면의 스티커 4장의 색은 모두 같고 서로 다른 면의 스티커 색은 모두 다른 2×2×2 큐브를 만들었어요. 작은 큐브러버는 이 작은 큐브를 아주 좋아했답니다.

작은 큐브

그런데 어느 날 작은 큐베러버가 날아와 작은 큐브의 스티커를 뒤섞고, 큐브를 8개의 조각으로 분해해 버렸어요. 스티커를 뒤섞었다는 것은 임의의 두 스티커를 떼어낸 뒤 위치를 바꿔 붙이는 일을 충분히 많이 반복했다는 뜻이에요.

작은 큐브러버는 너무 슬펐지만 용기를 내어 작은 큐베러버를 삐-하고 8개의 조각을 되찾았어요. 작은 큐브러버는 이 조각들을 다시 조립해 작은 큐브를 만들고 싶어 해요. 작은 큐브러버를 도와주세요!

입력

8개의 줄에 걸쳐 각 조각이 주어집니다. 각 조각은 스티커가 붙은 세 면이 모두 보이도록 놓았을 때, 윗면, 왼쪽 면, 오른쪽 면 순서로 읽은 각 스티커의 색입니다. 각 색은 B(blue), G(green), O(orange), R(red), W(white), Y(yellow) 중 하나의 알파벳으로 표현됩니다. 예를 들어 위 이미지의 중앙에 있는 조각은 Y B R로 주어집니다.

입력에서 각 알파벳은 같은 개수만큼 등장하는 것이 보장됩니다.

출력

조각을 조립해서 조건을 만족하는 2×2×2 큐브를 만들 수 있으면 YES, 만들 수 없으면 NO를 출력합니다.

힌트

첫 번째 예시의 조각으로는 아래와 같은 색 배치의 큐브를 만들 수 있습니다.

색 배치

예제2

  1. 예제 1

    입력
    W B O
    B W R
    G O Y
    R W G
    Y O B
    O G W
    B R Y
    G Y R
    
    예상 출력
    YES
    
  2. 예제 2

    입력
    R O W
    B Y G
    W B O
    W R G
    Y R O
    G Y R
    W G B
    O B Y
    
    예상 출력
    NO