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

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

Рутинная работа

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

요약
교대로 놓인 큐와 스택을 이용해, 길이가 2*2^n*n 이하인 이동 수열을 출력하여 첫 번째 큐의 서로 다른 2^n개 수를 마지막 큐에 오름차순으로 정렬한다.
난이도

보통10점 중 7점

유형
시뮬레이션, 그리디, 구현, 정렬
정답자
아직 제출이 없습니다

문제

Вчера Альф в очередной раз провинился --- опять чуть не съел Лаки. На этот раз Вилли решил проучить Альфа.

В кладовке у него как раз завалялись n+1n+1 очередь и nn стеков. Причем в одной из очередей также находилось 2n2^n различных целых чисел от 11 до 2n2^n. Вилли выложил перед Альфом все очереди и стеки в чередующемся порядке --- сначала идет очередь, потом стек, потом опять очередь, и так далее, последней Вилли выложил очередь. Причем очередь с числами оказалась первой.

Все, что Альф может делать с этими стеками и очередями --- вынуть из структуры данных номер ii первое число (для стека это число на вершине, для очереди --- число, находящееся в голове) и добавить его в структуру данных номер i+1i+1 (в случае стека число добавится на его вершину, в случае очереди --- в хвост). Теперь Вилли просит Альфа отсортировать все числа из первой очереди --- сделать несколько операций над этими структурами данных, чтобы все числа находились в последней очереди, а также располагались там в возрастающем порядке. То есть должно быть выполнено, что в голове очереди находится число 11, в хвосте очереди --- 2n2^n, а между ними числа должны быть отсортированы.

Вилли утверждает, что отсортировать числа гарантированно можно за 2⋅2n⋅n2 \cdot 2^{n} \cdot n операций. Помогите Альфу понять, как нужно применять эти операции, чтобы выполнить задание Вилли.

입력

В первой строке входного файла дано целое число nn (1≤n≤151 \le n \le 15) --- число стеков. Во второй строке входного файла дано 2n2^n различных чисел a_ia\_i (1≤a_i≤2n1 \le a\_i \le 2^n) --- исходный набор чисел.

출력

В первой и единственной строке выходного файла выведите 2⋅2n⋅n2 \cdot 2^{n} \cdot n чисел b_ib\_i (1≤b_i≤2n1 \le b\_i \le 2n) --- номер структуры данных, из которой извлекается число на ii-м шаге вашего решения. Данная структура не должна быть пуста.

예제2

  1. 예제 1

    입력
    1
    1 2
    
    예상 출력
    1 2 1 2
    
  2. 예제 2

    입력
    1
    2 1
    
    예상 출력
    1 1 2 2