QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 2048 MB Total points: 100

#7665. Bagasi

Statistics

Sebuah maskapai memiliki dua penerbangan yang berangkat dari ICPCity pada waktu yang hampir sama, satu ke kota B dan satu ke kota A. Maskapai juga memiliki $n$ loket tempat penumpang menyerahkan bagasi. Di setiap loket ada sepasang wadah bagasi yang identik, satu untuk kota B dan satu untuk kota A.

Sesaat sebelum penerbangan berangkat, setiap pasangan wadah dipindahkan dengan kereta bermotor ke area penyortiran. Kereta selalu membawa dua wadah sekaligus, satu untuk kota B dan satu untuk kota A. Setelah semuanya dipindahkan, wadah-wadah berbaris seperti ini:

$$\mathrm{B\ A\ B\ A\ B\ A\ \ldots\ B\ A}$$

Artinya, ada $2n$ wadah dalam satu baris, dimulai dengan wadah untuk kota B, lalu untuk kota A, dan seterusnya. Tugasnya adalah mengurutkan ulang agar semua wadah untuk kota A mendahului semua wadah untuk kota B. Setelah itu, wadah dapat dimuat ke pesawat yang sesuai.

Pengurutan ulang dilakukan dengan memindahkan pasangan wadah yang bersebelahan (tidak harus B lalu A), juga menggunakan kereta bermotor. Demi keseimbangan, kereta harus selalu membawa dua wadah, tidak pernah hanya satu. Sepasang wadah harus selalu dipindahkan ke ruang kosong yang lebarnya minimal dua wadah. Di sebelah kiri wadah pertama terdapat ruang kosong yang dapat digunakan sesuai kebutuhan selama pengurutan.

Ketika pengurutan dimulai, posisi wadah diberi nomor dari $1$ (awalnya berisi wadah B paling kiri) hingga $2n$ (awalnya berisi wadah A paling kanan). Ada $2n$ posisi kosong di sebelah kiri, bernomor dari $0$ hingga $-2n+1$, seperti pada Gambar A.1 untuk $n=4$.

problem_7665_113d453aa04e914f3a265312f8ef181c.png

Gambar A.1: Susunan awal wadah dan posisi kosong untuk $n=4$

Diberikan $n$, carilah urutan perpindahan terpendek yang menempatkan semua wadah A di sebelah kiri semua wadah B. Pada akhirnya, wadah A paling kiri boleh berada di posisi selain $1$, tetapi semua wadah harus bersebelahan dalam urutan $2n$ posisi tanpa celah.

Masukan

Masukan terdiri dari satu kasus uji yang berisi bilangan bulat $n$ ($3 \le n \le 100$).

Keluaran

Tampilkan urutan perpindahan terpendek yang mengurutkan wadah dengan benar. Setiap perpindahan berbentuk “$f$ to $t$”, dengan bilangan bulat $f$ dan $t$ menunjukkan pemindahan wadah di posisi $f$ dan $f+1$ ke posisi $t$ dan $t+1$. Jika ada beberapa solusi, tampilkan salah satunya.

Contoh

Masukan 1

5

Keluaran 1

8 to -1
3 to 8
6 to 3
0 to 6
9 to 0

Masukan 2

8

Keluaran 2

10 to -1
3 to 10
14 to 3
7 to 14
0 to 7
11 to 0
4 to 11
15 to 4

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.