CSES - Fixed Length Walk Queries | Truy Vấn Đường Đi Độ Dài Cố Định

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1800 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho một đồ thị vô hướng có \(n\) đỉnh và \(m\) cạnh. Đồ thị là đơn và liên thông.

Bạn bắt đầu tại một đỉnh cụ thể, và ở mỗi lượt bạn phải đi qua một cạnh sang một đỉnh khác.

Nhiệm vụ của bạn là trả lời \(q\) truy vấn dạng: "có thể bắt đầu ở đỉnh \(a\) và kết thúc ở đỉnh \(b\) sau đúng \(x\) lượt hay không?"

Input

Dòng đầu tiên chứa ba số nguyên \(n\), \(m\)\(q\): số đỉnh, số cạnh và số truy vấn. Các đỉnh được đánh số \(1,2,\dots,n\).

Sau đó có \(m\) dòng mô tả các cạnh. Mỗi dòng chứa hai số nguyên \(a\)\(b\): có một cạnh giữa hai đỉnh \(a\)\(b\).

Cuối cùng có \(q\) dòng, mỗi dòng mô tả một truy vấn. Mỗi dòng chứa ba số nguyên \(a\), \(b\)\(x\).

Output

Với mỗi truy vấn, in ra đáp án (YES hoặc NO) trên một dòng riêng.

Constraints

  • \(2 \le n \le 2500\)

  • \(1 \le m \le 5000\)

  • \(1 \le q \le 10^5\)

  • \(0 \le x \le 10^9\)

Example

Test 1

Input
4 5 6
1 2
2 3
1 3
2 4
3 4
1 2 2
1 4 1
1 4 5
2 2 1
2 2 2
3 4 8
Output
YES
NO
YES
NO
YES
YES

Giải thích:

  • Ở truy vấn 1, một lộ trình có thể là \(1 \rightarrow 3 \rightarrow 2\).

  • Ở truy vấn 3, một lộ trình có thể là \(1 \rightarrow 3 \rightarrow 2 \rightarrow 1 \rightarrow 3 \rightarrow 4\).

  • Ở truy vấn 6, một lộ trình có thể là \(3 \rightarrow 4 \rightarrow 2 \rightarrow 3 \rightarrow 4 \rightarrow 2 \rightarrow 1 \rightarrow 3 \rightarrow 4\).

Bình luận

Mới nhất
Tải bình luận...

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