이상한 정렬
시간 제한1초메모리 제한128 MB
어떤 원소도 바로 앞 원소보다 정확히 1만큼 크지 않도록 수열을 재배열하되, 사전순으로 가장 작은 순서를 출력하고 불가능하면 No solution을 출력한다.
문제
정수 개로 이루어진 수열 이 주어진다. 바로 앞 원소보다 정확히 만큼 큰 원소가 어디에도 나타나지 않도록 이 수들을 재배열하라. 즉, 최종 수열은 인 모든 에 대해 을 만족해야 한다.
조건을 만족하는 배열이 여러 개라면, 사전순으로 가장 앞서는 것을 출력한다.
입력
입력은 여러 개의 데이터 집합으로 이루어진다. 각 데이터 집합은 두 줄이다. 첫 줄에는 수열의 길이 ()이 주어진다. 둘째 줄에는 개의 정수 이 공백 하나로 구분되어 주어지며, 각 정수는 을 만족한다. 하나만 있는 줄은 입력의 끝을 나타내며 처리하지 않는다.
출력
각 데이터 집합에 대해 결과 수열을 한 줄에 출력한다. 정수는 공백 하나로 구분한다. 조건을 만족하는 배열이 존재하지 않으면 대신 No solution을 출력한다.