QOJ.ac

QOJ

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

#7665. 手荷物

Statistics

ある航空会社には、ほぼ同時に ICPCity を出発する 2 便があり、一方は都市 B、もう一方は都市 A に向かいます。また、乗客が手荷物を預けるカウンターが $n$ 個あります。各カウンターには同じ形の手荷物用コンテナが 2 個あり、1 個は都市 B 用、もう 1 個は都市 A 用です。

出発の直前に、各コンテナの対を電動運搬車で仕分け場所へ運びます。運搬車は毎回、都市 B 用と都市 A 用を 1 個ずつ、必ず 2 個同時に運びます。すべてのコンテナを運び終えると、仕分け場所では次のように並んでいます。

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

つまり、$2n$ 個のコンテナが一列に並び、最初が都市 B 用、次が都市 A 用で、以後も交互に続きます。ここで、都市 A 用のすべてのコンテナが都市 B 用のすべてのコンテナより前になるように並べ替えます。その後、コンテナを対応する飛行機に積み込めます。

並べ替えも電動運搬車を使い、隣り合う 2 個のコンテナを移動して行います(B、A の順とは限りません)。バランスを保つため、運搬車は必ず 2 個運ばなければならず、1 個だけ運ぶことはできません。対のコンテナは、少なくともコンテナ 2 個分の幅の空き場所に移さなければなりません。最初のコンテナの左側には空き場所があり、並べ替えの際に必要に応じて使えます。

並べ替えの開始時、コンテナの位置には $1$(最初に最も左の B 用コンテナがある位置)から $2n$(最初に最も右の A 用コンテナがある位置)まで番号が付いています。左側には最初に空いている場所が $2n$ 個あり、$0$ から $-2n+1$ まで番号が付いています。図 A.1 は $n=4$ の場合です。

problem_7665_113d453aa04e914f3a265312f8ef181c.png

図 A.1:$n=4$ のときのコンテナと空き場所の初期配置

$n$ が与えられたとき、すべての A 用コンテナがすべての B 用コンテナの左側になるように並べ替える、最短の移動列を求めてください。終了時、最も左の A 用コンテナが位置 $1$ 以外にあってもかまいませんが、コンテナは連続する $2n$ 個の位置に隙間なく並ばなければなりません。

入力

入力は 1 つのテストケースからなり、整数 $n$($3 \le n \le 100$)が与えられます。

出力

コンテナを正しく並べ替える最短の移動列を出力してください。各移動の形式は「$f$ to $t$」です。整数 $f$ と $t$ は、位置 $f$ と $f+1$ のコンテナを位置 $t$ と $t+1$ に移すことを表します。解が複数ある場合は、どれを出力してもかまいません。

入出力例

入力 1

5

出力 1

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

入力 2

8

出力 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.