Kết nối
Submit solution
Points:
3
Time limit:
1.0s
Memory limit:
98M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Cho một đồ thị gồm n đỉnh ban đầu chưa đỉnh nào kết nối với đỉnh nào. Chúng ta thực hiện lần lượt 2 loại truy vấn sau:
1 u v: Thêm một cạnh vô hướng nối 2 nút u và v (u và v luôn khác nhau)
2 u v: Kiểm tra xem đến thời điểm hiện tại hai nút u và v có liên thông với nhau không (tồn tại một đường đi từ u đến v trong đồ thị)? (u và v luôn khác nhau)
Input
Dòng đầu chứa số nguyên dương n là số đỉnh của đồ thị và số truy vấn m \((1 \le n,m \le 10^5)\)
Tiếp theo m dòng mỗi dòng là một truy vấn gồm 3 giá trị k u v trong đó k là loại truy vấn nhận giá trị 1 hoặc 2 còn u,v khác nhau nằm trong đoạn [1..n]
Output
Với mỗi truy vấn loại 2 in ra "yes" hoặc "no"
Ví dụ
Input
8 7
1 1 2
2 1 4
1 2 4
1 5 4
2 1 4
2 8 3
2 5 2
Output
no
yes
no
yes
Comments