잘못된 버블정렬
시간 제한1초메모리 제한1024 MB
N이 주어질 때, 주어진 잘못된 버블 정렬 코드가 정렬하지 못하는 길이 N의 수열을 출력한다.
문제
학교 프로그래밍 시간에 버블 정렬을 배운 정연이는 버블 정렬을 써먹기 위해 백준에서 정렬 문제를 도전했다. 문제는 아래와 같았다.
”개의 수를 담은 수열 , , , 이 주어질 때 이를 오름차순으로 정렬하는 프로그램을 작성하시오.”
정연이는 자신의 코드가 완벽하다고 생각한 후 제출했지만, 아쉽게도 ’틀렸습니다’를 받았다. 정연이가 작성한 버블정렬 코드는 다음과 같다.
for (int i = N - 1; i > 0; i--) {
for (int j = i - 1; j >= 0; j--) {
if (A[j] > A[j + 1]) {
int tmp = A[j];
A[j] = A[j + 1];
A[j + 1] = tmp;
}
}
}
수의 개수 이 주어질 때, 정연이가 짠 코드의 반례가 될 입력을 만들어 보자. 구체적으로, 당신은 정연이가 짠 코드의 반례가 될 길이 의 수열 를 만들어야 한다. 이때, 의 모든 원소는 이상 이하의 정수여야 하고, 정연이가 작성한 코드가 여러분이 출력한 개의 수를 올바르게 정렬할 수 없어야 한다.
입력 조건을 만족하는 모든 에 대해 이 조건을 만족하는 수열이 존재함을 증명할 수 있으며, 가능한 수열이 여러 가지라면 그 중 아무거나 출력한다.
입력
첫째 줄에 정수 이 주어진다.
출력
첫째 줄에 문제의 조건을 만족시키는 개의 정수 , , , 을 공백으로 구분하여 출력하라.