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

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

화물 우주선 적재

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

요약
무게가 3의 거듭제곱인 물건을 용량 안에서 가치가 가장 커지도록 담고 차원별 개수를 출력합니다.
난이도

보통10점 중 5점

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

문제

줄리엣이 읽는 공상과학 소설에는 화물 우주선의 적재량을 최대로 쓰는 문제가 나온다. 우주선이 나르는 화물은 각 차원의 크기가 3인 DD차원 격자 모양이다. 격자의 각 절점에는 무게가 같은 공이 하나씩 놓이고, 공을 잇는 연결선의 무게는 공에 비해 무시할 수 있을 만큼 작다. 그래서 화물 하나의 무게는 절점의 개수로만 정해진다. 반면 화물의 가치는 절점의 개수와 연결선의 개수를 더한 값이다.

DD차원 화물에는 절점이 3D3^D개 있고, 한 축의 방향으로 이웃한 두 절점마다 연결선이 하나씩 있다.

차원무게가치
0차원11
1차원35
2차원921

우주선에는 실을 수 있는 무게의 한도가 있다. 한도를 넘기지 않으면서 실은 화물의 가치 합을 최대로 만들어야 한다. 어느 차원의 화물이든 원하는 만큼 쓸 수 있다. 가치 합을 최대로 만드는 적재 방법은 하나뿐이다.

입력

첫째 줄에 테스트 케이스의 개수 NN이 주어진다. NN은 양의 정수이다.

다음 NN개의 줄에 우주선의 적재 한도를 나타내는 정수 KK가 한 줄에 하나씩 주어진다. (1≤K<1071 \le K < 10^7)

출력

각 테스트 케이스마다 Xm Xm−1 … X1 X0X_m\ X_{m-1}\ \dots\ X_1\ X_0을 공백으로 구분해 한 줄에 출력한다. XiX_i는 가치 합을 최대로 만들기 위해 실어야 하는 ii차원 화물의 개수이고, 가장 높은 차원의 개수 XmX_m은 0보다 크다.

예제2

  1. 예제 1

    입력
    4
    1
    100
    175
    9841
    
    예상 출력
    1
    1 0 2 0 1
    2 0 1 1 1
    1 1 1 1 1 1 1 1 1
    
  2. 예제 2

    입력
    30
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    
    예상 출력
    1
    2
    1 0
    1 1
    1 2
    2 0
    2 1
    2 2
    1 0 0
    1 0 1
    1 0 2
    1 1 0
    1 1 1
    1 1 2
    1 2 0
    1 2 1
    1 2 2
    2 0 0
    2 0 1
    2 0 2
    2 1 0
    2 1 1
    2 1 2
    2 2 0
    2 2 1
    2 2 2
    1 0 0 0
    1 0 0 1
    1 0 0 2
    1 0 1 0