QJ3138 - Lan xây dựng mạng

Xem dưới dạng PDF

Gửi bài giải

Điểm: 100
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Kiểu bài tập

Cho 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

Không có ý kiến tại thời điểm này.