Universal Cup Judging System

Universal Cup

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

Đây là một bài toán tương tác!

Có một mảng ẩn $a_1, a_2, \dots, a_N$ gồm $N$ số nguyên dương phân biệt (trong đó $N$ là số lẻ); một bản sao bị lỗi của mảng này được lưu trong một mảng ẩn khác $b$. Mỗi phần tử của mảng $b$ được định nghĩa như sau:

  • $b_1 = a_2$
  • $b_N = a_{N-1}$
  • $b_i = a_{i-1}$ hoặc $b_i = a_{i+1}$ với mỗi $i$ thỏa mãn $1 < i < N$ (một trong hai phần tử kề cạnh)

Bạn cần xác định xem có tồn tại hai chỉ số $i$ và $j$ ($i \neq j$, $1 \le i, j \le N$) sao cho $b_i = b_j$ hay không. Nếu tồn tại các chỉ số như vậy, hãy trả về chúng; ngược lại, hãy chỉ ra rằng không tồn tại các chỉ số như vậy.

Bạn có thể truy vấn các phần tử của mảng $a$ và $b$ bằng các thao tác sau:

  • 1 i: trả về giá trị của $a_i$ ($1 \le a_i \le 10^9$)
  • 2 i: trả về giá trị của $b_i$ ($1 \le b_i \le 10^9$)

Bạn có thể hỏi tối đa 20 truy vấn.

Giao thức tương tác

Đầu tiên, bạn phải đọc một dòng chứa một số nguyên duy nhất $T$ ($1 \le T \le 100$) biểu thị số lượng bộ dữ liệu.

Sau đó là phần tương tác cho $T$ bộ dữ liệu.

Với mỗi bộ dữ liệu, trước tiên bạn phải đọc một dòng chứa một số nguyên $N$ ($3 \le N \le 2\,001$, $N$ là số lẻ).

Sau đó quá trình tương tác bắt đầu. Bạn có thể in ra một dòng chứa:

  • 1 x (Hỏi về $a_x$): Sau đó, đọc một dòng gồm một số nguyên $a_x$.
  • 2 x (Hỏi về $b_x$): Sau đó, đọc một dòng gồm một số nguyên $b_x$.
  • 3 i j (Câu trả lời: hai chỉ số $i, j$ thỏa mãn $b_i = b_j$, hoặc -1 -1 nếu không có hai chỉ số như vậy): Sau đó, chuyển sang bộ dữ liệu tiếp theo nếu có; ngược lại, kết thúc chương trình.

Sau khi xuất mỗi dòng, đừng quên làm rỗng bộ đệm đầu ra (flush). Ví dụ:

  • fflush(stdout) trong C/C++;
  • System.out.flush() trong Java;
  • sys.stdout.flush() trong Python;
  • flush(output) trong Pascal;
  • Xem tài liệu hướng dẫn cho các ngôn ngữ khác.

Ví dụ

Dữ liệu vào 1

1
7
2
2

Kết quả 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.