Đề thi lớp 10 chuyên Đại học Vinh 2024 - Dãy số tương tự
Point: 100.0
Time limit: 1.0s
Memory limit: 250 M
Input: stdin
Output: stdout
Author:  
Problem type

Cho hai dãy số nguyên \(a_1, a_2, \ldots, a_n\)\(b_1, b_2, \ldots, b_n\) với điều kiện \(1 < n \leq 5 \times 10^4\)\(1 \leq a_i, b_i \leq 10^9\) \((i = 1, 2, ..., n)\). Hai dãy số \((a_i)\)\((b_i)\) gọi là tương tự nhau nếu với mọi \(i \neq j\)\(a_i = a_j\) thì \(b_i = b_j\)\(a_i \ne a_j\) thì \(b_i \ne b_j\).

Yêu cầu:

Hãy kiểm tra hai dãy số \((a_i)\)\((b_i)\) có tương tự nhau hay không?

Dữ liệu vào:

Từ tệp văn bản SEQ.INP, trong đó:

  • Dòng 1 ghi một số nguyên dương \(n\);
  • Dòng 2 ghi \(n\) số nguyên của dãy số \((a_i)\), mỗi số ghi cách nhau ít nhất một dấu cách;
  • Dòng 3 ghi \(n\) số nguyên của dãy số \((b_i)\), mỗi số ghi cách nhau ít nhất một dấu cách.

Kết quả:

Ghi ra tệp văn bản SEQ.OUT gồm một dòng chứa số \(1\) nếu dãy số \((a_i)\) và dãy số \((b_i)\) tương tự nhau và số \(0\) trong trường hợp ngược lại. Nếu \(n\) không thoả mãn điều kiện bài toán thì ghi là \(-1\).

Ví dụ:

SEQ.INP SEQ.OUT Giải thích
5
1 2 3 1 3
3 2 1 3 1
1 Với mọi \(i \neq j\) \((i, j = 1, 2, ..., 5)\) ta có \(a_i = a_j\) thì \(b_i = b_j\)\(a_i \ne a_j\) thì \(b_i \ne b_j\), do vậy hai dãy \((a_i)\)\((b_i)\) tương tự nhau.
5
1 2 3 1 3
1 2 3 3 3
0 Ta có \(a_1 = a_4\) nhưng \(b_1 \neq b_4\), do vậy hai dãy \((a_i)\)\((b_i)\) không tương tự nhau.

Giới hạn:

  • 10% số test ứng với các giá trị của \(n\) không thoả mãn điều kiện bài toán;
  • 70% số test ứng với \(1 < n \leq 10^4\);
  • 20% số test ứng với \(1 < n \leq 5 \times 10^4\).