시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 (추가 시간 없음) (하단 참고) | 512 MB | 171 | 117 | 111 | 79.286% |
Albert는 총 n장의 숫자 카드를 가지고 있다. 각 숫자 카드는 1부터 9까지의 숫자가 하나씩 적혀있고, 6과 9는 카드를 회전하면 구분할 수 없기 때문에 Albert가 임의로 회전할 수 있다.
구체적으로, xi 는 i가 적힌 숫자 카드의 개수라 하자 (따라서 x1 + x2 + ... + x9 = n 이다).
요즘 Albert는 집에서 혼자 카드 놀이를 하는데, 아래와 같은 방법으로 진행한다.
n장의 카드를 모두 가져오고나면 길이가 n인 정수가 만들어지는데, Albert는 이 수의 값이 가장 크게 되도록 하고 싶다.
예를 들어 n = 5 이고 Albert가 가진 카드가 [6, 6, 7, 8, 9]라 하자. 아래와 같이 세 가지 다른 방법으로 다섯 장의 카드를 좌측부터 우측으로 나열한 경우, Albert가 규칙대로 게임을 진행하여 만들 수 있는 수는 아래와 같다.
입력으로 n장의 숫자 카드가 주어졌을 때, 맨 처음 Albert가 카드를 어떻게 나열해야 가장 큰 수를 만들 수 있는지 찾아서 알려주자.
첫 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스는 한 줄에 총 9개의 정수가 (x1, x2, ..., x9) 공백으로 구분되어 주어진다.
각 테스트 케이스에 대해 n장의 카드를 어떻게 나열해야하는지 (좌측부터 우측으로) 한 줄에 걸쳐 출력한다.
4 0 0 0 0 0 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 0 0 0 0 0 0 1 2 2 0 0 0 0 0 0
9 9 7 8 9 9 8 5 3 1 2 4 7 9 3 3 1 2 3 3 2 1 2 3
예제 1: 본문에서 다루었다.
예제 2: 6이 적힌 카드를 회전하여 9로 만든 후 출력에 나온 것과 마찬가지로 나열할 경우 998754321 이라는 수를 만들 수 있다.
예제 3: 추가 설명 없음
예제 4: 추가 설명 없음