아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

자

시간 제한2초메모리 제한512 MB

요약
N개의 눈금을 가진 자에서 임의의 두 눈금 사이 거리가 모두 다르도록 하면서 길이가 최소가 되는 눈금 위치를 오름차순으로 출력한다.
난이도

어려움10점 중 9점

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

문제

Elly는 아주 특이한 측정용 자를 하나 가지고 있다. 이 자의 길이는 정확히 L센티미터이고, 시작점에서 정수 거리에 있는 몇몇 위치에 눈금이 있다(모든 정수 위치에 있지는 않을 수 있다). 자의 시작점(0)과 끝점(L)에는 눈금이 있다고 하자. 이 자의 특이한 점은, 임의의 두 눈금 사이의 거리가 모두 서로 다르다는 것이다. 더 정확히 말해, 자의 눈금 위치가 0 = A1 < A2 < ... < AN = L일 때, 1 ≤ i, j, k, p ≤ N이고 i < j라면 Aj - Ai = Ak - Ap일 필요충분조건은 j = k이고 i = p이다.

이제 Elly는 N개의 눈금을 가진 이런 자를 만들려고 하는데, 자의 길이가 가능한 한 짧아야 한다. Elly를 도와 이 자를 만드는 프로그램을 작성하라.

입력

표준 입력의 한 줄에 정수 N이 주어진다. N은 자가 가져야 할 눈금의 개수이며, 시작점과 끝점도 포함한다.

출력

표준 출력의 한 줄에 N개의 음이 아닌 정수를 증가하는 순서로 출력한다. 이 정수들은 자의 눈금 위치이다. 첫 번째 위치는 0이어야 하고, 마지막 위치는 N개의 눈금을 가진 이런 자를 만들 수 있는 최소 길이 L이어야 한다. 답이 여러 개라면 아무 것이나 출력해도 된다.

제한

  • 5 ≤ N ≤ 14

예제2

  1. 예제 1

    입력
    5
    
    예상 출력
    0 2 7 8 11
    
  2. 예제 2

    입력
    8
    
    예상 출력
    0 1 4 9 15 22 32 34