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

Cho đơn đồ thị vô hướng \(N\) đỉnh, \(M\) cạnh, các đỉnh đánh số \(1, 2, \ldots, N\). Đếm số cặp đỉnh \(u, v\) thỏa mãn: giữa \(u, v\) không có cạnh nối trực tiếp và nếu thêm cạnh nối \(u, v\) thì đồ thị xuất hiện thêm đúng một chu trình đơn.

Input

  • Dòng đầu tiên chứa hai số nguyên \(N, M\) \((1 \leq N,M \leq 10^{5})\)
  • \(M\) dòng tiếp theo, mỗi dòng hai số nguyên \(u, v\) thể hiện một cạnh nối hai đỉnh \(u, v\).

Output

  • Gồm một số nguyên là số cặp đỉnh thỏa mãn yêu cầu bài toán, chú ý rằng các cặp đỉnh chỉ khác nhau về thứ tự đỉnh chỉ được tính là một cặp.

Example

Test 1

Input
5 5
1 2
2 3
3 1
1 4
4 5
Output
1

Bình luận

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

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