QOJ.ac

QOJ

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

#7665. כבודה

Statistics

לחברת תעופה יש שתי טיסות היוצאות מ־ICPCity בערך באותו זמן, אחת לעיר B ואחת לעיר A. לחברה יש גם $n$ דלפקים שבהם הנוסעים מוסרים כבודה. בכל דלפק יש זוג מכלי כבודה זהים, אחד לעיר B ואחד לעיר A.

ממש לפני ההמראה, כל זוג מכלים מועבר בעגלה ממונעת לאזור המיון. העגלה מעבירה תמיד שני מכלים בכל פעם, אחד לעיר B ואחד לעיר A. לאחר שהועברו כל המכלים, הם מסודרים באזור המיון כך:

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

כלומר, יש $2n$ מכלים בשורה, תחילה מכל לעיר B, אחריו מכל לעיר A וכן הלאה. כעת יש לסדר אותם מחדש כך שכל המכלים לעיר A יקדמו לכל המכלים לעיר B. אחר כך אפשר להעמיס אותם על המטוסים המתאימים.

הסידור מחדש נעשה בהעברת זוגות של מכלים סמוכים (לא בהכרח B ואחריו A), שוב באמצעות העגלה. לשם איזון, העגלה חייבת לשאת תמיד שני מכלים, לעולם לא אחד בלבד. זוג מכלים חייב להיות מועבר למקום ריק ברוחב של שני מכלים לפחות. משמאל למכל הראשון יש מקומות ריקים שניתן להשתמש בהם לפי הצורך בזמן הסידור.

בתחילת הסידור, מיקומי המכלים ממוספרים מ־$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$ מקומות סמוכים ללא רווחים.

קלט

הקלט מורכב ממקרה בדיקה יחיד המכיל את המספר השלם $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.