QOJ.ac

QOJ

Süre Sınırı: 2 s Bellek Sınırı: 64 MB Toplam puan: 100

#23759. خلط البطاقات

İstatistikler

توجد $2n$ بطاقة مكتوب عليها الأعداد من $1$ إلى $2n$، مكدسة بالترتيب $1, 2, 3, \ldots, 2n$ من الأعلى.

يتم إعادة ترتيب هذه البطاقات باستخدام الطرق التالية عدة مرات:

القطع بالعدد الصحيح $k$

بعد تقسيم البطاقات إلى كومة A مكونة من أعلى $k$ بطاقة وكومة B مكونة من البطاقات المتبقية وعددها $2n-k$، نضع الكومة B فوق الكومة A.

problem_23759_23aef3360de866e41647ebc46ea8acfd.png

الخلط المتداخل (Riffle shuffle)

نقسم البطاقات إلى كومة A مكونة من أعلى $n$ بطاقة وكومة B مكونة من البطاقات المتبقية وعددها $n$، وندمجها في كومة واحدة ($1$) بحيث تصبح من الأعلى بالترتيب: البطاقة $1$ من A، البطاقة $1$ من B، البطاقة $2$ من A، البطاقة $2$ من B، $\ldots$، البطاقة $n$ من A، البطاقة $n$ من B.

problem_23759_b7a05d9ba29945a1384455aee42f82a0.png

اكتب برنامجًا يعيد ترتيب البطاقات وفقًا لتعليمات الإدخال، ويطبع أرقام البطاقات بعد إعادة الترتيب بالترتيب من الأعلى.

الإدخال

  • السطر $1$ يحتوي على $n$ ($1 \le n \le 100$). أي أن عدد البطاقات هو $2n$.
  • السطر $2$ يحتوي على عدد العمليات $m$ ($1 \le m \le 1000$).
  • الأسطر الـ $m$ من السطر $3$ إلى السطر $m + 2$ يحتوي كل منها على عدد صحيح واحد ($1$) هو $k$ بين $0$ و $2n-1$، ويحدد بالترتيب طريقة إعادة ترتيب البطاقات:
    • في حالة $k = 0$، يتم إجراء الخلط المتداخل.
    • في حالة $1 \le k \le 2n-1$، يتم إجراء القطع بالعدد $k$.

الإخراج

يتكون الإخراج من $2n$ سطرًا. في السطر $1$ اطبع رقم البطاقة العليا بعد انتهاء إعادة الترتيب، وفي السطر $2$ اطبع رقم البطاقة الـ $2$ من الأعلى بعد انتهاء إعادة الترتيب، وهكذا، بحيث تطبع في السطر $i$ رقم البطاقة الـ $i$ من الأعلى.

أمثلة

الإدخال 1

2
2
1
0

الإخراج 1

2
4
3
1

الإدخال 2

3
4
2
4
0
0

الإخراج 2

1
5
4
3
2
6

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.