QOJ.ac

QOJ

총점: 100 출력 전용

#13207. מסע אינסופי

통계

היה היה ילד בשם Kino, שאהב מאוד לטייל וביקר במקומות מוזרים רבים. יום אחד הגיע לגשר וגילה שעליו חונות מכוניות רבות בעלות גג נפתח. למרבה הצער, הגשר היה צר ויכול היה להכיל לרוחבו רק מכונית אחת. המכוניות שעל הגשר לא פינו דרך זו לזו, ולכן המכוניות שהגיעו משני הכיוונים נתקעו יחד ולא יכלו לעבור.

לאחר מכן הוסיף בונה הגשר אפשרות חדשה: לסובב קטע כלשהו של הגשר ב־$180$ מעלות, כך שחזיתן ואחוריהן של המכוניות שבקטע יחליפו כיוון, כמתואר באיור הבא:

problem_13207_d06fb22f798236d118e907258b08d88a.png

איור 1. סיבוב המכוניות 321 יוצר את הסדר 123.

כמתואר באיור, המכוניות בסדר $3,2,1$ פגשו על הגשר את המכוניות $4,5$ ויצרו פקק. אפשר לסובב את הקטע של $3,2,1$, ואז סדר המכוניות על הגשר הופך ל־$1,2,3,4,5$ וגם כיוון נסיעתן אחיד, כך שהן יכולות לרדת מהגשר. כמובן, זו רק דוגמה פשוטה; המצב על הגשר האמיתי מסובך הרבה יותר, ונדרשים סיבובים רבים כדי להגיע לסדר $1,2,3,4,5$.

אולם לאחר שתכנן את הגשר, גם המתכנן יצא לטייל, ואף אחד מהתושבים שנותרו לא ידע להפעיל את הגשר הקסום. לכן מצב המכוניות על הגשר נעשה מבולגן יותר ויותר, עד שלבסוף הגיע למצב הנוכחי. כדי לחצות את הגשר מצא Kino לידו את מתקן הבקרה ואת ספר ההוראות, וגילה מחדש כיצד להפעילו. בעזרת התושבים שבסביבה הצליח לסדר את המכוניות על הגשר בסדר $1,2,3,\ldots$, כשכולן פונות לאותו כיוון. האם אתם יודעים כיצד עשה זאת?

קלט

זוהי משימה שבה מגישים קובצי תשובות. קובצי הקלט convertible1.in עד convertible10.in כבר נמצאים בתיקיית המשתמש. השורה הראשונה בכל קובץ קלט מכילה את מספר המכוניות שעל הגשר, $n$, ומספרי המכוניות הם $1,2,\ldots,n$. השורה השנייה מתארת את מיקומי המכוניות וכיווניהן על הגשר באמצעות סדרה של $+i$ או $-i$. הערך $-i$ במקום ה־$j$ מציין שמכונית $i$ נמצאת במקום ה־$j$ על הגשר ופונה ימינה; הערך $+i$ במקום ה־$j$ מציין שמכונית $i$ נמצאת במקום ה־$j$ ופונה שמאלה.

פלט

יש לשים את קובצי הפלט convertible1.out עד convertible10.out בתיקיית המשתמש, ואין צורך להגיש תוכנית. השורה הראשונה בקובץ הפלט מכילה את מספר הסיבובים $m$. כל אחת מ־$m$ השורות הבאות מתארת סיבוב אחד, באמצעות מיקום הגבול השמאלי ומיקום הגבול הימני. הפלט שלכם חייב להבטיח שהסדרה הסופית תהיה $1,2,3,\ldots,n$, ולא $-1,-2,-3,\ldots,-n$ או סדרה אחרת.

דוגמאות

קלט 1

5
-3 -2 -1 4 5

פלט 1

1
1 3

ניקוד

הניקוד המרבי לכל מקרה בדיקה הוא $10$ נקודות. הניקוד תלוי ביחס שבין איכות התשובה שלכם לאיכות תשובת הייחוס.

כיצד לבדוק את התוכנית שלכם

למשימה מצורף בודק קובצי פלט בשם convertible_c. מפעילים אותו כך:

#./convertible_c 3

פקודה זו בודקת אם convertible3.out תקין.


또는 파일을 하나씩 업로드:

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.