Universal Cup Judging System

Universal Cup

حد الوقت: 1.0 s حد الذاكرة: 256 MB مجموع النقاط: 100 تفاعلية
الإحصائيات

Ini adalah soal interaktif!

Terdapat sebuah larik tersembunyi $a_1, a_2, \dots, a_N$ yang terdiri dari $N$ bilangan bulat positif berbeda (dengan $N$ ganjil); salinan yang salah dari larik ini disimpan di larik tersembunyi lainnya $b$. Setiap elemen dari larik $b$ didefinisikan sebagai berikut:

  • $b_1 = a_2$
  • $b_N = a_{N-1}$
  • $b_i = a_{i-1}$ atau $b_i = a_{i+1}$ untuk setiap $i$ dengan $1 < i < N$ (salah satu dari elemen yang bersebelahan)

Anda perlu menentukan apakah terdapat dua indeks $i$ dan $j$ ($i \neq j$, $1 \le i, j \le N$) sehingga $b_i = b_j$. Jika indeks tersebut ada, kembalikan keduanya; jika tidak, nyatakan bahwa tidak ada indeks seperti itu.

Anda dapat melakukan kueri terhadap elemen-elemen larik $a$ dan $b$ menggunakan operasi berikut:

  • 1 i: mengembalikan nilai $a_i$ ($1 \le a_i \le 10^9$)
  • 2 i: mengembalikan nilai $b_i$ ($1 \le b_i \le 10^9$)

Anda dapat mengajukan maksimal hingga 20 kueri.

Protokol Interaksi

Pertama, Anda harus membaca satu baris yang berisi satu bilangan bulat $T$ ($1 \le T \le 100$) yang menyatakan banyaknya kasus uji.

Kemudian diikuti interaksi untuk $T$ kasus uji.

Untuk setiap kasus uji, Anda harus terlebih dahulu membaca satu baris yang berisi satu bilangan bulat $N$ ($3 \le N \le 2\,001$, $N$ ganjil).

Kemudian interaksi dimulai. Anda dapat mencetak satu baris yang berisi:

  • 1 x (Bertanya tentang $a_x$): Kemudian, baca satu baris yang terdiri dari satu bilangan bulat, $a_x$.
  • 2 x (Bertanya tentang $b_x$): Kemudian, baca satu baris yang terdiri dari satu bilangan bulat, $b_x$.
  • 3 i j (Jawaban: dua indeks $i, j$, dengan $b_i = b_j$ atau -1 -1 jika tidak ada dua indeks tersebut): Kemudian, lanjutkan ke kasus uji berikutnya jika ada; jika tidak, hentikan program.

Setelah mencetak setiap baris, jangan lupa untuk melakukan flush pada keluaran. Sebagai contoh:

  • fflush(stdout) di C/C++;
  • System.out.flush() di Java;
  • sys.stdout.flush() di Python;
  • flush(output) di Pascal;
  • Lihat dokumentasi untuk bahasa lainnya.

Contoh

Masukan 1

1
7
2
2

Keluaran 1

2 3
2 1
3 1 3

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.