일이 커졌어

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

요약
1부터 N까지를 순열로 배열해 홀수 번째는 곱하고 짝수 번째는 더하는 과정을 거쳐 시작값 1에서 최댓값을 만든다.
난이도

보통10점 중 5점

유형
그리디, 수학, 정렬
정답자
아직 제출이 없습니다

문제

정우는 정수 1,2,⋯ ,N1,2,\cdots ,N을 원하는 순서로 나열해 순열 p=\[p_1,p_2,⋯ ,p_N]p=\[p\_1,p\_2,\cdots ,p\_N]을 만든 후, 이 순열을 이용해서 정우가 가지고 있는 정수 XX를 키우려고 한다. XX의 초깃값은 11이다.

정우는 ii를 11부터 NN까지 11씩 증가시키며 p_ip\_i에 따라 정수 XX를 키울 수 있는데, 그 방법은 다음과 같다.

  • ii가 홀수라면 XX에 p_ip\_i를 곱한다.
  • ii가 짝수라면 XX에 p_ip\_i를 더한다.

예를 들어, N=4N=4이고 순열 p=\[1,2,3,4]p=\[1,2,3,4]일 때, XX는 1×1=11\times 1=1, 1+2=31+2=3, 3×3=93\times 3=9, 9+4=139+4=13으로 변한다.

정수 NN이 주어질 때, 정수 1,2,⋯ ,N1,2,\cdots ,N을 어떻게 나열해야 정수 XX를 최대로 키울 수 있는지 구해보자.

입력

정수 N(1≤N≤100)N(1\le N\le 100)이 주어진다.

출력

정수 XX를 최대한 키울 수 있는 순열 p=\[p_1,p_2,⋯ ,p_N]p=\[p\_1,p\_2,\cdots ,p\_N]을 공백으로 구분하여 출력한다. 만약 XX를 최대로 키우는 순열이 여러 개 존재한다면 아무 순열이나 하나 출력한다.

예제1

  1. 예제 1

    입력
    2
    
    예상 출력
    2 1