Universal Cup Judging System

Universal Cup

時間限制: 2.0 s 記憶體限制: 2048 MB 總分: 100 难度: [顯示] 通信
统计

هذه مسألة متعددة المراحل (multi-pass problem).

في الأرشيفات الرقمية لمدينة كيفوتوس، اكتشفت بلانا (Plana) مجموعةً من السجلات الغامضة تُعرف باسم السجلات ثنائية الزمن (Bitemporal Logs). يتكون كل سجل من $n$ مدخلات مرقمة من $1$ إلى $n$ تشكّل شجرةً مجذَّرة. غير أن القيود البنيوية تختلف تبعًا لما إذا كان التدفق الزمني رجعيًا (المنطق A) أو استشرافيًا (المنطق B):

  • المنطق A: جذر الشجرة هو المدخل $1$؛ ولكل مدخل آخر $i$ أب $p_i$ يحقق $p_i < i$.
  • المنطق B: جذر الشجرة هو المدخل $n$؛ ولكل مدخل آخر $i$ أب $q_i$ يحقق $q_i > i$.

لتحليل الخصائص البنيوية، تعرّف بلانا نوعين من المدخلات:

  • طرفي (Terminal): مدخل لا يمثّل أبًا لأي مدخل آخر.
  • محوري (Hub): مدخل يمثّل أبًا لمدخل واحد آخر على الأقل.

لاحظت بلانا تماثلًا مثاليًا أطلقت عليه اسم الرنين المنطقي (Logical Resonance). تتحقق هذه الخاصية بين سجل من المنطق A وسجل من المنطق B إذا وفقط إذا:

$$\text{For every } i\text{, entry } i \text{ is a Terminal in Logic A} \iff \text{entry } i \text{ is a Hub in Logic B.}$$

أثبتت بلانا رياضيًا أن عدد سجلات المنطق A وسجلات المنطق B الصالحة تحت هذا القيد متطابق تمامًا. والآن، تكلّفك بتصميم بروتوكول ترجمة شامل — أي دالة تقابل (bijection) — لتحويل إحدى صيغتي السجلات إلى الأخرى.

تقييم الصحة

يتم تنفيذ حلك مرتين في كل اختبار. في التشغيل الأول، يجب على حلك تحويل كل سجل من المنطق A إلى سجل من المنطق B يحقق شرط الرنين المنطقي. وفي التشغيل الثاني، عند إعطائك سجلًا من المنطق B أنتجه حلك في التشغيل الأول، يجب على حلك استعادة سجل المنطق A الأصلي بدقة.

يتكون إدخال التشغيل الثاني من نفس سجلات المنطق B التي أخرجها حلك في التشغيل الأول، وربما بترتيب مختلف. لكل سجل منطق B مدخل في التشغيل الثاني، يجب عليك طباعة سجل المنطق A المقابل له. يُعتبر حلك صحيحًا إذا كان إخراجك، لكل سجل منطق B من هذا القبيل، مطابقًا تمامًا لسجل المنطق A الذي ولّده في التشغيل الأول.

يتم توفير أداة اختبار لمساعدتك في تطوير حلك واختباره.

الإدخال

يحتوي السطر الأول من الإدخال على عددين صحيحين $r$ ($r \in \{1, 2\}$) و $T$ ($1 \le T \le 10^5$)، يمثلان رقم التشغيل وعدد حالات الاختبار.

لكل حالة اختبار، يحتوي السطر الأول على عدد صحيح $n$ ($2 \le n \le 10^3$).

إذا كان $r = 1$، يحتوي السطر الثاني على $n$ أعداد صحيحة $p_1, p_2, \dots, p_n$ تمثل سجل المنطق A. من المضمون أن $p_1 = 0$، ولكل $2 \le i \le n$ فإن $1 \le p_i < i$ هو المدخل الذي يرتبط به المدخل $i$. نستخدم هنا $0$ للدلالة على أن المدخل ليس له أب (أي أنه الجذر).

وإلا، إذا كان $r = 2$، يحتوي السطر الثاني على $n$ أعداد صحيحة $q_1, q_2, \dots, q_n$ تمثل سجل المنطق B. من المضمون أن $q_n = 0$، ولكل $1 \le i \le n - 1$ فإن $i < q_i \le n$ هو المدخل الذي يرتبط به المدخل $i$.

من المضمون أن مجموع قيم $n^2$ عبر جميع حالات الاختبار لا يتجاوز $10^7$.

الإخراج

إذا كان $r = 1$، فلكل حالة اختبار، اطبع $n$ أعداد صحيحة مفصولة بمسافات، $q_1, q_2, \dots, q_n$، تمثل سجل المنطق B المحوَّل. يجب أن يتحقق $q_n = 0$، ولكل $1 \le i \le n - 1$ يجب أن يكون $i < q_i \le n$. ويجب أن تتحقق خاصية الرنين المنطقي: المدخل $i$ طرفي في المنطق A إذا وفقط إذا كان المدخل $i$ محوريًا في المنطق B.

وإلا، إذا كان $r = 2$، فلكل حالة اختبار، اطبع $n$ أعداد صحيحة مفصولة بمسافات، $p_1, p_2, \dots, p_n$، تمثل سجل المنطق A المستعاد.

مثال

المثال 1، المرحلة 1

الإدخال
1 3
4
0 1 1 2
4
0 1 2 1
4
0 1 1 1
الإخراج
3 3 4 0
3 4 4 0
2 3 4 0

المثال 1، المرحلة 2

الإدخال
2 3
4
2 3 4 0
4
3 3 4 0
4
3 4 4 0
الإخراج
0 1 1 1
0 1 1 2
0 1 2 1

شرح المثال 1

يوضح الشكل أدناه تقابلًا صالحًا ممكنًا.

problem_16339_5fc56a9536f47de069054071a1fe22c7.png

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.