trang chủ / bài tập / subwaydist

Tàu điện ngầm của Sergey

Đề bài

Mô tả

Một hệ thống tàu điện ngầm có N trạm, được đánh số từ 1 đến N. Một số cặp trạm được nối trực tiếp bằng đường hầm, và toàn bộ hệ thống tạo thành một cây: giữa hai trạm bất kỳ tồn tại đúng một đường đi đơn. Khoảng cách giữa hai trạm là số đường hầm ít nhất phải đi qua để di chuyển giữa chúng.

Người ta quyết định nâng cấp hệ thống bằng cách xây thêm đường hầm: với mọi cặp trạm uv chưa được nối trực tiếp nhưng có chung một trạm láng giềng w (tức là đã có đường hầm uwwv), hãy xây thêm một đường hầm nối trực tiếp uv.

Lưu ý rằng tất cả các đường hầm mới được xác định dựa trên hệ thống ban đầu, và được xây cùng lúc; các đường hầm mới không sinh ra thêm đường hầm nào khác.

Hãy tính tổng khoảng cách giữa tất cả các cặp trạm trong hệ thống sau khi nâng cấp. Mỗi cặp trạm không thứ tự được tính đúng một lần.

Dữ liệu vào

  • Dòng đầu chứa một số nguyên N: số trạm.
  • N1 dòng tiếp theo, mỗi dòng chứa hai số nguyên uivi: có một đường hầm nối trực tiếp trạm ui và trạm vi.

Dữ liệu đảm bảo N trạm và N1 đường hầm tạo thành một cây.

Dữ liệu ra

In ra một số nguyên duy nhất: tổng khoảng cách giữa tất cả các cặp trạm sau khi nâng cấp.

Ràng buộc

  • 2N200000
  • 1ui,viN, uivi

Ví dụ

Input Output Giải thích
4
1 2
1 3
1 4
6 Ba trạm 2,3,4 đều có chung láng giềng là trạm 1, nên sau khi nâng cấp mọi cặp trong số 6 cặp đều nối trực tiếp, mỗi cặp đóng góp 1.
4
1 2
2 3
3 4
7 Sau khi nâng cấp, mọi cặp đều nối trực tiếp trừ cặp (1,4) vốn cách nhau 3 đường hầm; cặp này nay cách nhau 2. Tổng là 5·1+2=7.
3
2 1
3 2
3 Thêm đường hầm 13 vì hai trạm này chung láng giềng 2. Cả ba cặp đều cách nhau 1.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0