만드는 중입니다

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

줄 세우기

면접 대비

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

요약
각 아이의 왼쪽과 오른쪽에 있는 더 큰 아이의 수가 주어질 때, 모든 정보와 맞는 줄 서기 순서를 찾는 문제입니다.
난이도

쉬움10점 중 3점

유형
백트래킹, 완전 탐색
정답자
아직 제출이 없습니다

문제

아이가 nn명 있고, 이들을 A, B, C 등으로 부르자. 아이들은 당신이 보지 않는 사이에 한 줄로 선다. 그 뒤 각 아이는 왼쪽에 선 아이 중 자기보다 키가 큰 아이의 수를 세고, 오른쪽에 선 아이에 대해서도 같은 방법으로 센다. 줄에서 나온 아이들은 이 두 수를 쪽지에 적어 당신에게 건넨다. 아이들의 부탁은 간단하다. 처음에 서 있던 순서를 맞혀 달라는 것이다.

다섯 명일 때의 예는 그림과 같다. A는 왼쪽에 자기보다 키가 큰 아이가 한 명(D) 있고, 오른쪽에는 두 명(C, E) 있다. B는 왼쪽에 키 큰 아이가 세 명, 오른쪽에 한 명 있다. C는 왼쪽에 키 큰 아이가 한 명 있고 오른쪽에는 없다. 나머지도 같은 방식이다. 쪽지의 정보는 다음 표로 정리할 수 있다.

아이왼쪽오른쪽
A12
B31
C10
D00
E20

당신은 이 문제를 풀지 못해서 몰래 빠져나와, 이 문제를 푸는 컴퓨터 프로그램을 작성하기로 한다. 다음에 아이들이 도전해 올 때를 대비해 아이의 수(3명 이상 8명 이하)와 쪽지의 정보를 바꿔 볼 수 있도록 하려 한다. 모든 아이의 키는 서로 다르고, 쪽지를 적을 때 실수가 없었다고 가정해도 된다. 흥미롭게도 해는 항상 하나뿐이다.

입력

첫 줄에 아이의 수 nn (3≤n≤83 \le n \le 8)이 주어진다. 이어서 nn개의 줄이 주어지며, 각 줄에는 정수 두 개가 주어진다. 첫 번째 정수는 그 아이의 왼쪽에 있는 자기보다 키 큰 아이의 수이고, 두 번째 정수는 오른쪽에 있는 자기보다 키 큰 아이의 수이다.

출력

아이들이 서 있던 순서를 나타내는 길이 nn의 문자열을 한 줄에 출력한다. 이 문자열은 A, B, C 등의 문자를 재배열한 것이다.

예제1

  1. 예제 1

    입력
    5
    1 2
    3 1
    1 0
    0 0
    2 0
    
    예상 출력
    DACBE