QOJ.ac

QOJ

시간 제한: 1 s 메모리 제한: 256 MB 총점: 100

#11099. נקישות במפתח

통계

Goran מחלים מניתוח בברך ועורך ניסויים בכרטיס חכם המשמש לאחסון מפתחות הצפנה. בבעיה זו, מפתח הוא מחרוזת סיביות באורך $3n$, כאשר $n$ הוא מספר שלם חיובי. סיביות המפתח ממוספרות באמצעות המספרים השלמים מ-$1$ עד $3n$, משמאל לימין. משקלו של מפתח הוא מספר זוגות הסיביות הסמוכות השונות זו מזו, בתוספת אחת. לדוגמה, משקלו של המפתח 000 הוא $1$, ואילו משקלו של המפתח 011010100 הוא $7$.

הוא גילה שביכולתו לשבש את המפתח באמצעות שליחת פולסים חשמליים קטנים דרך מעגלי הכרטיס החכם. בפרט, הוא יכול לבצע באופן אמין את הפעולה הבאה: לבחור שתי סיביות סמוכות כלשהן במפתח ולהפוך את שתיהן. לדוגמה, פעולה אחת יכולה לשנות את המפתח 000 ל-110.

בהינתן מפתח באורך $3n$, מצאו רצף כלשהו של לכל היותר $n$ פעולות שהופך את המפתח הנתון למפתח שמשקלו לפחות $2n$. ניתן להניח שתמיד קיים פתרון.

קלט

השורה הראשונה מכילה מחרוזת המורכבת מהספרות 0 ו-1 — המפתח ההתחלתי. אורך המפתח הוא $3n$, כאשר $n$ הוא מספר שלם חיובי המקיים $1 \le n \le 100\,000$.

פלט

השורה הראשונה צריכה להכיל מספר שלם $m$ המקיים $0 \le m \le n$ — מספר הפעולות בפתרון שלכם. השורה הבאה צריכה להכיל $m$ מספרים שלמים $a_1,a_2,\ldots,a_m$ המתארים את הפתרון. המספר $a_k$ הוא האינדקס של הסיבית השמאלית מבין שתי הסיביות שהופכים בצעד ה-$k$.

אם משקלו של המפתח ההתחלתי כבר לפחות $2n$, אפשר להדפיס רק את המספר השלם 0.

דוגמאות

קלט 1

000000000

פלט 1

3
2 5 6

קלט 2

111001000111

פלט 2

2
3 9

קלט 3

010101

פלט 3

0

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.