trang chủ / đề bài / dhbb23_lvt_10_c

Độ dính kết

Đề bài

Mô tả

Đất nước Happy có N thành phố được nối với nhau bởi M con đường hai chiều. Hệ thống các con đường được thiết lập sao cho giữa hai thành phố bất kỳ luôn có một đường đi gồm một hoặc nhiều con đường. Mỗi con đường nối trực tiếp hai thành phố khác nhau và cho phép di chuyển theo cả hai chiều; giữa hai thành phố có nhiều nhất một con đường nối trực tiếp.

Trung tâm điều khiển của đất nước đưa ra khái niệm độ dính kết giữa cặp hai thành phố A và B: đó là số lượng các con đường mà việc bỏ đi một con đường trong số đó (các con đường khác vẫn hoạt động bình thường) dẫn đến không thể đi từ thành phố A đến thành phố B.

Một nghiên cứu cho biết rằng, trong điều kiện thời tiết xấu, tổng độ dính kết giữa các cặp thành phố phải đạt đến một giá trị nhất định thì hệ thống đường đi mới được gọi là an toàn.

Yêu cầu: Hãy tính tổng độ dính kết giữa mọi cặp thành phố.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên N và M.
  • M dòng tiếp theo, mỗi dòng chứa hai số nguyên dương u,v (1≤u,v≤N, u≠v) cho biết có một con đường nối hai thành phố u và v.

Dữ liệu ra

In ra một số nguyên duy nhất là tổng độ dính kết giữa mọi cặp thành phố (A,B) với A<B.

Ràng buộc

  • 2≤N≤300000; N−1≤M≤300000.
  • 1≤u,v≤N, u≠v; giữa hai thành phố có nhiều nhất một con đường.
  • Từ một thành phố bất kỳ có thể đi đến mọi thành phố khác.

Subtasks

  • Subtask 1 (30% số điểm): N<100.
  • Subtask 2 (30% số điểm): N<10000.
  • Subtask 3 (40% số điểm): không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
5 5
1 2
4 2
4 5
3 2
3 1
10 Bỏ con đường 2−4 thì nhóm {1,2,3} tách khỏi nhóm {4,5}: 3·2=6 cặp mất đường đi. Bỏ con đường 4−5 thì thành phố 5 tách khỏi 4 thành phố còn lại: 4 cặp. Bỏ một con đường của vòng 1−2−3 thì vẫn đi được giữa mọi cặp. Tổng là 6+4=10.
6 7
1 2
2 3
3 1
3 4
4 5
5 6
6 4
9 Chỉ con đường 3−4 làm mất đường đi khi bị bỏ, nó tách {1,2,3} khỏi {4,5,6} nên mỗi cặp (A,B) với A≤3<B có độ dính kết 1, các cặp khác có độ dính kết 0. Tổng là 3·3=9.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0