Universal Cup Judging System

Universal Cup

Time Limit: 2.0 s Memory Limit: 2048 MB Total points: 100 Difficulty: [show] Communication
Statistics

Ini adalah soal multi-tahap (multi-pass problem).

Di dalam arsip digital Kivotos, Plana telah menemukan sekumpulan catatan misterius yang dikenal sebagai Log Bitemporal. Setiap log terdiri atas $n$ entri berlabel $1$ sampai $n$ yang membentuk sebuah pohon berakar. Namun, batasan strukturalnya berbeda bergantung pada apakah aliran waktunya bersifat retrospektif (Logika A) atau prospektif (Logika B):

  • Logika A: Pohon berakar pada entri $1$; setiap entri lainnya $i$ memiliki induk $p_i$ sedemikian sehingga $p_i < i$.
  • Logika B: Pohon berakar pada entri $n$; setiap entri lainnya $i$ memiliki induk $q_i$ sedemikian sehingga $q_i > i$.

Untuk menganalisis sifat strukturalnya, Plana mendefinisikan dua jenis entri:

  • Terminal: Entri yang tidak menjadi induk bagi entri lain mana pun.
  • Hub: Entri yang menjadi induk bagi setidaknya satu entri lain.

Plana mengamati sebuah simetri sempurna yang disebut Resonansi Logis (Logical Resonance). Sifat ini berlaku di antara sebuah log Logika A dan sebuah log Logika B jika dan hanya jika:

$$\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.}$$

Plana telah membuktikan secara matematis bahwa banyaknya log Logika A dan log Logika B yang valid di bawah batasan ini adalah identik. Kini, ia menugaskan Anda untuk merancang sebuah Protokol Penerjemahan Universal — sebuah bijeksi — untuk mengubah satu format log ke format lainnya.

Evaluasi Kebenaran

Solusi Anda dijalankan dua kali pada setiap pengujian. Pada eksekusi pertama, solusi Anda harus mengubah setiap log Logika A menjadi sebuah log Logika B yang memenuhi syarat Resonansi Logis. Pada eksekusi kedua, diberikan sebuah log Logika B yang dihasilkan oleh eksekusi pertama Anda, solusi Anda harus memulihkan log Logika A aslinya secara persis.

Masukan dari eksekusi kedua terdiri atas log-log Logika B yang sama dengan keluaran Anda dari eksekusi pertama, mungkin dalam urutan yang berbeda. Untuk setiap masukan log Logika B pada eksekusi kedua, Anda harus mengeluarkan log Logika A yang bersesuaian. Solusi Anda dianggap benar jika, untuk setiap log Logika B tersebut, keluaran Anda persis sama dengan log Logika A yang menghasilkannya pada eksekusi pertama.

Sebuah alat penguji disediakan untuk membantu Anda mengembangkan dan menguji solusi Anda.

Masukan

Baris pertama masukan berisi dua bilangan bulat $r$ ($r \in \{1, 2\}$) dan $T$ ($1 \le T \le 10^5$), yang merepresentasikan nomor eksekusi dan banyaknya kasus uji.

Untuk setiap kasus uji, baris pertama berisi sebuah bilangan bulat $n$ ($2 \le n \le 10^3$).

Jika $r = 1$, baris kedua berisi $n$ bilangan bulat $p_1, p_2, \dots, p_n$ yang merepresentasikan log Logika A. Dijamin bahwa $p_1 = 0$, dan untuk $2 \le i \le n$, $1 \le p_i < i$ adalah entri tempat entri $i$ terhubung. Di sini kita menggunakan $0$ untuk menyatakan bahwa suatu entri tidak memiliki induk (yaitu merupakan akar).

Sebaliknya, jika $r = 2$, baris kedua berisi $n$ bilangan bulat $q_1, q_2, \dots, q_n$ yang merepresentasikan log Logika B. Dijamin bahwa $q_n = 0$, dan untuk $1 \le i \le n - 1$, $i < q_i \le n$ adalah entri tempat entri $i$ terhubung.

Dijamin bahwa jumlah $n^2$ di seluruh kasus uji tidak melebihi $10^7$.

Keluaran

Jika $r = 1$, untuk setiap kasus uji, keluarkan $n$ bilangan bulat yang dipisahkan oleh spasi, $q_1, q_2, \dots, q_n$, yang merepresentasikan log Logika B hasil konversi. Harus berlaku bahwa $q_n = 0$, dan untuk $1 \le i \le n - 1$, $i < q_i \le n$. Sifat Resonansi Logis harus terpenuhi: entri $i$ adalah Terminal pada Logika A jika dan hanya jika entri $i$ adalah Hub pada Logika B.

Sebaliknya, jika $r = 2$, untuk setiap kasus uji, keluarkan $n$ bilangan bulat yang dipisahkan oleh spasi, $p_1, p_2, \dots, p_n$, yang merepresentasikan log Logika A yang telah dipulihkan.

Contoh

Contoh 1, Tahap 1

Masukan
1 3
4
0 1 1 2
4
0 1 2 1
4
0 1 1 1
Keluaran
3 3 4 0
3 4 4 0
2 3 4 0

Contoh 1, Tahap 2

Masukan
2 3
4
2 3 4 0
4
3 3 4 0
4
3 4 4 0
Keluaran
0 1 1 1
0 1 1 2
0 1 2 1

Penjelasan Contoh 1

Salah satu bijeksi valid yang mungkin ditunjukkan di bawah ini.

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.