만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Azber는 Biou의 집에서 게임을 한다

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

요약
두 사람이 이진 트리 모양의 방 사이에서 로봇을 번갈아 움직이고, 각 시작 방마다 최적 전략일 때 방문한 방 번호의 합을 구합니다.
난이도

보통10점 중 7점

유형
게임 이론, 트리, 동적 계획법, DFS
정답자
아직 제출이 없습니다

문제

Azber는 Biou의 집에 놀러 가서 게임을 한다. Biou의 집에는 지하 00층부터 N−1N-1층까지 있으며, ii층에는 2i2^i번부터 2i+1−12^{i+1}-1번까지의 방이 있다. 각 방에는 수가 부여되는데, jj (1≤j≤2N−11 \leq j \leq 2^N-1)번 방에는 수 aja_j가 부여된다.

방 사이에는 통로가 있다. 같은 층에서 번호가 인접한 방끼리는 양방향 통로로 이어진다. i>1i>1인 모든 방 ii에서는 ⌊i2⌋\lfloor \frac{i}{2} \rfloor번 방으로 가는 단방향 통로가 있다.

Azber와 Biou는 Azber부터 번갈아 가며 로봇을 조종한다. 게임을 시작하기 전에 로봇을 놓을 방은 두 사람이 합의하여 정한다. 각 플레이어는 자신의 차례에 다음 중 하나를 선택할 수 있다.

  • 로봇을 통로를 따라 다른 방으로 이동시킨다. 로봇은 이전에 방문했던 방으로 다시 이동할 수 없다. 처음에 로봇이 있던 방도 방문한 방으로 본다.
  • 게임의 종료를 선언한다.

플레이어가 게임의 종료를 선언하면 게임이 끝난다. 로봇이 1번 방에 있으면 더 이상 움직일 곳이 없으므로 게임이 끝난다. 점수는 로봇이 방문한 방에 부여된 수의 합이다. Azber는 점수를 최대한 작게 하고 싶고, Biou는 최대한 크게 하고 싶다. 두 사람은 항상 최적으로 플레이한다.

Azber와 Biou는 모든 방에 대해, 로봇을 그 방에서 시작했을 때의 최종 점수가 궁금하다. 각 방에서 시작할 때의 최종 점수를 구하시오.

입력

첫 번째 줄에 Biou의 집의 층 수 NN이 주어진다. (1≤N≤111 \leq N \leq 11)

두 번째 줄에 1번 방부터 2N−12^N-1번 방까지 각 방에 부여된 수 a1,a2,⋯ ,a2N−1a_1, a_2, \cdots, a_{2^N-1}이 공백으로 구분되어 주어진다. (−109≤ai≤109-10^9 \leq a_i \leq 10^9, aia_i는 정수)

출력

2N−12^N-1개의 정수를 공백으로 구분하여 출력한다. ii번째 정수는 로봇을 ii번 방에서 시작했을 때의 최종 점수이다.

예제2

  1. 예제 1

    입력
    2
    4 -6 -5
    
    예상 출력
    4 -7 -7
    
  2. 예제 2

    입력
    3
    10 -24 12 9 -11 0 13
    
    예상 출력
    10 -24 -2 -3 -23 -11 13