QOJ.ac

QOJ

Süre Sınırı: 1 s Bellek Sınırı: 256 MB Toplam puan: 100

#1646. מיון דיסקיות

İstatistikler

נתונים $n+1$ מוטות ו־$3n$ דיסקיות. בתחילה, כל אחד מ־$n$ המוטות הראשונים מכיל בדיוק 3 דיסקיות. כל דיסקית היא באחד מ־$n$ צבעים (המזוהים במספרים מ־$1$ עד $n$). נוסף על כך, יש בדיוק 3 דיסקיות מכל אחד מ־$n$ הצבעים. המוט ה־$(n+1)$ ריק.

problem_1646_c3db54dbd3225d7493ed2351e0712bd9.jpg

בכל צעד אפשר לבחור שני מוטות $a$ ו־$b$ ‏($a \ne b$), כך שעל $a$ יש לפחות דיסקית אחת ועל $b$ יש לכל היותר 2 דיסקיות, ולהעביר את הדיסקית העליונה ביותר מהמוט $a$ לראש המוט $b$. שימו לב שבשום שלב אסור שמוט כלשהו יכיל יותר מ־3 דיסקיות.

מטרתכם היא למיין את הדיסקיות. באופן מדויק יותר, עליכם לבצע מספר פעולות (ייתכן גם 0), כך שבסוף כל אחד מ־$n$ המוטות הראשונים יכיל בדיוק 3 דיסקיות מאותו צבע, והמוט ה־$(n+1)$ יהיה ריק.

מצאו פתרון הממיין את הדיסקיות בלכל היותר $6n$ פעולות. אפשר להוכיח שבתנאי זה תמיד קיים פתרון. אם יש כמה פתרונות, כל אחד מהם יתקבל.

קלט

השורה הראשונה של הקלט מכילה מספר שלם חיובי $n$ ‏($1 \le n \le 1000$). כל אחת מ־3 שורות הקלט הבאות מכילה $n$ מספרים שלמים חיוביים $c_{i,j}$ ‏($1 \le i \le 3$, ‏$1 \le j \le n$, ‏$1 \le c_{i,j} \le n$), צבעי הדיסקיות המוצבות בתחילה על המוטות. הראשונה מבין 3 השורות מציינת את השורה העליונה, השורה השנייה את השורה האמצעית, והשורה השלישית את השורה התחתונה.

פלט

השורה הראשונה של הפלט חייבת להכיל מספר שלם אי־שלילי $k$ ‏($0 \le k \le 6n$), מספר הפעולות. כל אחת מ־$k$ השורות הבאות צריכה להכיל שני מספרים שונים $a_i,b_i$ ‏($1 \le a_i,b_i \le n+1$, לכל $1 \le i \le k$), המייצגים את הפעולה ה־$i$ (כמתואר בתיאור הבעיה).

דוגמאות

קלט 1

4
2 3 1 4
2 1 1 4
2 3 3 4

פלט 1

8
3 5
3 5
2 3
2 5
2 3
5 2
5 2
5 2

קלט 2

2
1 2
1 2
1 2

פלט 2

0

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#310EditorialOpen题解jianglyView

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.