eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Катакомби

Катакомби

Піратські катакомби на острові Скарбів було вирито за таким принципом. Після прихованого входу розташована печера, з якої виходять два тунелі - наліво і направо. Кожен із тунелів закінчується печерою, з якої також виходить два тунелі, і т.д. Довжина кожного тунелю дорівнює одиниці. Кінцеві печери, що знаходяться на відстані \textbf{D} від входу, не мають подальших виходів. Ніякі тунелі між собою не перетинаються, та не ведуть до одної печери. Число \textbf{D} називають глибиною катакомб. \includegraphics{https://static.e-olymp.com/content/63/6313dea2edd831a77597fd17a1dbf9b306f04a6b.jpg} У кожній з кінцевих печер приховано один сундук зі скарбом. Перед прибуттям на острів Капітана Джека Сперроу пірати вирішили перемістити ці сундуки згідно з останніми вказівками Капітана. Пірати намалювали план катакомб та пронумерували кінцеві печери зліва направо. Потім для кожного скарбу було встановлено номер печери, в якій він повинен опинитися перед прибуттям Капітана. Після переміщення в кожній печері знову опиниться лише один сундук. Щоб забезпечити безпеку скарбів, пірати можуть лише обмінювати між собою сундуки з двох печер. Тільки після закінчення одного обміну можна починати інший. Необхідно знайти найменшу сумарну відстань яку піратам потрібно буде нести сундуки, аби розмістити їх потрібним чином. \InputFile Перший рядок містить одне ціле число \textbf{D} - глибину катакомб (\textbf{D} ≤ \textbf{8}). Другий рядок містить \textbf{2^D} різних цілих чисел від \textbf{1} до \textbf{2^D}. Кожне \textbf{i}-те з них ідентифікує номер печери, до якої повинен попасти сундук, що находиться спочатку у печері \textbf{i}. \OutputFile Перший рядок має містити одне ціле число - мінімальну сумарну відстань, яку пройдуть пірати зі скарбами. Другий рядок містить ціле число \textbf{K} - відповідну кількість обмінів. Кожен наступний з \textbf{K} рядків містить два числа, що є номерами печер, між якими відбувається обмін. Обміни повинні бути вказані у тому порядку, в якому вони мають відбуватися.
Ліміт часу 2 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2
3 4 2 1
Вихідні дані #1
20
3
1 3
2 4
1 2

Пояснення: Спочатку поміняти місцями скарби у печерах 3 та 4. Пройдена відстань 4 (по 2 для кожного сундука). Потім поміняти скарби у печерах 4 і 1, та 3 і 2. Відстань в обох випадках – 8. Таким чином – усі встануть на свої місця, а сумарна відстань буде 20.

Автор Андрей Коротков
Джерело 2008 XXI Всеукраїнська олімпіада з інформатики, Львів, Квітень 5 - 11, тур 2