Friends - (Olympic 30/4 K11 - 2021)
Xem PDF
Điểm:
2200
Thời gian:
2.0s
Bộ nhớ:
1G
Input:
bàn phím
Output:
màn hình
Cho đồ thị vô hướng gồm \(n\) đỉnh và \(m\) cạnh. Bạn cần phải thực hiện \(q\) truy vấn thuộc một trong hai loại sau:
1 u v: Nối một cạnh giữa hai đỉnh \(u\) và \(v\) nếu chúng chưa được nối.2 u v: Kiểm tra xem có tồn tại đường đi giữa hai đỉnh \(u\) và \(v\) với độ dài (số cạnh) không quá \(2\) hay không?
Input
- Dòng đầu tiên chứa hai số nguyên dương \(n, m\).
- \(m\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(a_i, b_i\) biểu diễn một cạnh của đồ thị ban đầu.
- Dòng tiếp theo chứa số nguyên dương \(q\) là số lượng truy vấn.
- \(q\) dòng cuối cùng, mỗi dòng chứa ba số nguyên \(t_i, u_i, v_i\) (\(t_i \in \{1, 2\}\)) mô tả loại truy vấn và hai đỉnh tương ứng.
Output
- Với mỗi truy vấn loại \(2\) (\(t_i = 2\)), in ra YES nếu tồn tại đường đi có độ dài không quá \(2\) giữa \(u\) và \(v\), ngược lại in ra NO.
Example
Test 1
Input
4 2
1 2
2 3
4
2 1 2
2 3 4
1 3 4
2 2 4
Output
YES
NO
YES
Note
- Ở truy vấn thứ nhất, \(1\) và \(2\) đã có cạnh nối trực tiếp (độ dài \(1 \le 2\)), nên kết quả là YES.
- Ở truy vấn thứ hai, đỉnh \(4\) không có cạnh nối với ai, nên không có đường đi độ dài \(\le 2\) tới \(3\), kết quả là NO.
- Ở truy vấn thứ tư, sau khi nối thêm cạnh \((3, 4)\), giữa \(2\) và \(4\) có đường đi \(2 \to 3 \to 4\) (độ dài \(2\)), nên kết quả là YES.
Test 2
Input
4 2
1 2
2 4
4
2 2 3
1 3 4
2 2 3
2 1 3
Output
NO
YES
NO
Scoring
- Subtask \(1\) (\(50\%\) số điểm): \(n, m, q \le 5000\).
- Subtask \(2\) (\(50\%\) số điểm): \(n, m, q \le 2 \cdot 10^5\).
Kỳ thi:
- Olympic Truyền thống 30/4 2021 - Tin học - Khối 11 (3 Tháng tư, 2021)
- Olympic 30/4 (24 Tháng 2., 2026)
Bình luận