QJ3138 - Lan xây dựng mạng
Xem dưới dạng PDFCho một đồ thị vô hướng gồm n đỉnh và m cạnh, tất cả các cạnh trong đồ thị đều có trọng số bằng 1. Hãy kiểm tra các đỉnh trong đồ thị có liên thông với nhau hay không, và đưa ra giá trị lớn nhất trong các khoảng cách ngắn nhất giữa hai đỉnh liên thông bất kỳ trong đồ thị.
Dữ liệu vào
Dòng 1 gồm hai số nguyên $n,m$, lần lượt biểu thị số đỉnh và số cạnh của đồ thị.
Các dòng $2 \sim m+1$, mỗi dòng gồm hai số nguyên $a,b$, biểu thị tồn tại một cạnh vô hướng nối hai đỉnh có số hiệu $a,b$, số hiệu đỉnh nằm trong khoảng từ $1$ đến $n$.
Dữ liệu ra
Nếu đồ thị không liên thông, in ra NO. Nếu đồ thị liên thông, in ra một số nguyên biểu thị giá trị lớn nhất của các khoảng cách ngắn nhất.
Ví dụ
Input
4 4
1 2
2 3
3 4
1 4
Output
2
Ghi chú
Phạm vi dữ liệu
Với 30% dữ liệu chấm, $1 \leq n \leq 50$, $1 \leq m \leq 100$.
Với 50% dữ liệu chấm, $1 \leq n \leq 200$, $1 \leq m \leq 10000$.
Với 100% dữ liệu chấm, $1 \leq n \leq 500$, $1 \leq m \leq 10^5$.
1: Bài này khảo sát BFS tìm đường đi ngắn nhất, cần thực hiện BFS từ mỗi đỉnh 2: Đường kính của đồ thị là giá trị lớn nhất trong các khoảng cách ngắn nhất giữa mọi cặp đỉnh, trước tiên hãy kiểm tra tính liên thông
Nhận xét