TLEoj Cup Final Day 1 - Đồ thị xor

Xem PDF

Nộp bài

Điểm: 1400 (thành phần)
Thời gian: 1.25s
Bộ nhớ: 256M
Input: XORG.inp
Output: XORG.out

Dạng bài

Cho một đồ thị có 2^n đỉnh được đánh số từ 0 đến 2^n - 1 và một dãy số nguyên a_1, a_2, ..., a_m. Tồn tại cạnh nối giữa đỉnh i và j khi và chỉ khi i\ xor\ j = a_k với 1 \le k \le m. Cho q truy vấn, mỗi truy vấn gồm hai số nguyên u, v, nhiệm vụ của bạn là tìm độ dài đường đi ngắn nhất từ đỉnh u đến đỉnh v.

Input, Output và Subtask
Input (XORG.inp)
  • Dòng đầu tiên gồm ba số nguyên dương n, m, q (n \le 60, m \le 20, q \le 10^6)
  • Dòng thứ hai gồm m số nguyên dương a_1, a_2, ..., a_m.
  • q dòng tiếp theo, mỗi dòng gồm hai số nguyên dương u, v,
Output (XORG.out)
  • Gồm q dòng, dòng thứ i là kết quả của truy vấn thứ i. Nếu không tồn tại đường đi giữa hai đỉnh u, v, in ra -1.
Subtask
  • 20\% số điểm có n \le 10.
  • 20\% số điểm khác có n \le 20.
  • 20\% số điểm khác có m = 1.
  • 20\% số điểm khác có m = 2.
  • 20\% số điểm còn lại không có giới hạn gì thêm.
Sample 1
Input (XORG.inp)
3 2 4
5 3
1 7
3 5
1 5
0 3
Output (XORG.out)
2
2
-1
1
Notes

Đồ thị sẽ có dạng như sau

Input (XORG.inp) Output (XORG.out) Note
3 2 4 n = 3, m = 2, q = 4
5 3 a = (5, 3)
1 7 2 Đường đi ngắn nhất là 1 \rightarrow 2 \rightarrow 7.
3 5 2 Đường đi ngắn nhất là 3 \rightarrow 6 \rightarrow 5.
1 5 -1 Không có đường đi từ 1 đến 5.
0 3 1 Có đường đi trực tiếp từ 0 đến 3.

Bình luận đầu tiên

Bình luận

Không có bình luận nào.