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

Đường vành đai

Đề bài

Mô tả

N thành phố được nối với nhau bởi N con đường tạo thành một vòng tròn: nếu bỏ chiều đi của các con đường thì mỗi thành phố nối trực tiếp với đúng hai thành phố khác và từ bất kỳ thành phố nào cũng đi được đến mọi thành phố còn lại.

Hiện tại, mỗi con đường đã được ấn định một chiều đi một chiều. Tuy nhiên có thể có những cặp thành phố không thể đến được nhau bằng chiều hiện tại. Chính phủ muốn đảo chiều một số con đường (đảo chiều con đường thứ i tốn ci đồng) sao cho từ mọi thành phố đều có thể đi đến mọi thành phố khác.

Hãy tính chi phí nhỏ nhất.

Dữ liệu vào

  • Dòng đầu chứa số nguyên N — số thành phố (và cũng là số con đường).
  • N dòng tiếp theo, mỗi dòng chứa ba số nguyên ai,bi,ci mô tả một con đường đi từ thành phố ai đến thành phố bi với chi phí đảo chiều là ci.

Dữ liệu ra

In ra một số nguyên duy nhất — chi phí nhỏ nhất cần bỏ ra để mọi thành phố đều đi được đến nhau.

Ràng buộc

  • 3N100
  • 1ai,biN, aibi
  • 1ci100
  • Đồ thị (bỏ chiều) tạo thành đúng một vòng tròn đi qua mọi thành phố.

Ví dụ

Input Output Giải thích
3
1 3 1
1 2 1
3 2 1
1 Đảo chiều con đường 32 là đủ để có vòng 1231.
3
1 3 1
1 2 5
3 2 1
2 Đảo hai con đường 1232 giá 1+1 rẻ hơn so với đảo 12 giá 5.
4
1 2 9
2 3 8
3 4 7
4 1 5
0 Đã sẵn là vòng 12341, không cần đảo chiều con đường nào.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0