Thành phố quan trọng

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: 1700 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Đất nước Hạnh Phúc có \(n\) thành phố được nối với nhau bởi \(m\) đường nối hai chiều. Giữa hai thành phố bất kỳ chỉ có nhiều nhất một con đường.
Chính quyền nước này đưa ra một tiêu chí để đánh giá độ quan trọng của mỗi thành phố, theo đó độ quan trọng của một thành phố \(x\) được tính bằng số cặp thành phố \(a\)\(b\) (\(a \neq b, a \neq x, b \neq x\)) mà để di chuyển từ \(a\) đến \(b\) (và ngược lại) bắt buộc phải đi qua thành phố \(x\).

Bạn hãy lập trình tính độ quan trọng trung bình của tất cả các thành phố.

Input

  • Dòng đầu tiên chứa hai số nguyên \(n, m\) (\(1 \le n \le 2 \cdot 10^4, 0 \le m \le 2 \cdot 10^5\)).
  • \(m\) dòng tiếp theo mỗi dòng chứa 2 số nguyên \(u, v\) (\(1 \le u, v \le n\)) mô tả một đường nối.

Output

  • Gồm một số thực duy nhất là độ quan trọng trung bình của các thành phố, làm tròn đến \(2\) chữ số thập phân.

Example

Test 1

Input
5 5
1 2
2 3
3 4
4 5
5 3
Output
1.40
Note
  • Thành phố \(1\): Không có cặp nào bắt buộc đi qua \(1\). Độ quan trọng: \(0\).
  • Thành phố \(2\): Các cặp bắt buộc đi qua \(2\)\((1, 3), (1, 4), (1, 5)\). Độ quan trọng: \(3\).
  • Thành phố \(3\): Các cặp bắt buộc đi qua \(3\)\((1, 4), (1, 5), (2, 4), (2, 5)\). Độ quan trọng: \(4\).
  • Thành phố \(4\): Không có cặp nào bắt buộc đi qua \(4\). Độ quan trọng: \(0\).
  • Thành phố \(5\): Không có cặp nào bắt buộc đi qua \(5\). Độ quan trọng: \(0\).

Trung bình cộng: \((0 + 3 + 4 + 0 + 0) / 5 = 1.40\).

Bình luận

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

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