QOJ.ac

QOJ

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

#960. חריגה ממגבלת הפלט

İstatistikler

כולנו יודעים ש-$\binom{n}{k}=\frac{n\cdot(n-1)\cdot\ldots\cdot(n-k+2)\cdot(n-k+1)}{1\cdot2\cdot\ldots\cdot(k-1)\cdot k}$ הוא מספר שלם לכל $0 \le k \le n$. אבל יהיה נחמד אם נוכל להוכיח זאת באמצעות זיווג בין גורמים במונה ובמכנה, נכון?

נבנה גרף דו־צדדי שבכל צד שלו $k$ קודקודים. הקודקוד ה-$i$ בצד השמאלי מתאים לגורם $(n+1-i)$ מהמונה, והקודקוד ה-$j$ בצד הימני מתאים לגורם $j$ מהמכנה. קיימת קשת $i$ — $j$ אם ורק אם $j$ מחלק את $(n+1-i)$. המספר $k$ הוא בר־הוכחה עבור $n$ אם יש בגרף הדו־צדדי הזה זיווג מושלם.

בהינתן $n$, בדקו אם $k$ בר־הוכחה עבור כל $k$ המקיים $0 \le k \le n$.

קלט

השורה היחידה מכילה מספר שלם אחד $n$ ($0 \le n \le 10^{18}$).

פלט

הדפיסו מחרוזת באורך $(n+1)$ המורכבת מ-0 ו-1; התו ה-$(k+1)$ צריך להיות 1 אם ורק אם $k$ בר־הוכחה עבור $n$.

מה, אתם חושבים שזה יגרום לחריגה ממגבלת הפלט? המממ... בסדר. בואו נדחס את המחרוזת.

יהיו $s_0=$"0" ו-$s_1=$"1". אתם יכולים להגדיר את $s_2,s_3,\ldots,s_t$. המחרוזת $s_i$ צריכה להיות שרשור של כמה מחרוזות שהוגדרו קודם. באופן פורמלי, $\forall i\ (2 \le i \le t): s_i=s_{j_1}+s_{j_2}+\ldots+s_{j_{k_i}}$, כאשר $1 \le k_i$, $\forall r\ (1 \le r \le k_i):j_r<i$. המחרוזת $s_t$ צריכה להיות התשובה לבעיה.

בשורה הראשונה הדפיסו מספר שלם אחד $t$ ($2 \le t \le 500$).

ב-$t-1$ השורות הבאות הדפיסו את התיאורים של $s_i$. כל תיאור צריך להיות בצורה $k_i\ j_1\ j_2\ \ldots\ j_{k_i}$, עם $1 \le k_i$ ו-$0 \le j_r<i$.

האורך הכולל של כל התיאורים לא יעלה על $10\,000$: $\sum_{i=2}^{t}k_i \le 10\,000$.

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

דוגמאות

קלט 1

1

פלט 1

2
2 1 1

קלט 2

0

פלט 2

2
1 1

קלט 3

7

פלט 3

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

הערה

בדוגמה השלישית: $s_2=s_1+s_1=\text{“1”}+\text{“1”}=\text{“11”}$, $s_3=s_1+s_2+s_0+s_0=\text{“1”}+\text{“11”}+\text{“0”}+\text{“0”}=\text{“11100”}$, $s_4=s_3+s_1+s_2=\text{“11100”}+\text{“1”}+\text{“11”}=\text{“11100111”}$.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#320EditorialOpen题解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.