trang chủ / đề bài / ringroad

Đường vành đai

Đề bài

Mô tả

Có 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

  • 3≤N≤100
  • 1≤ai,bi≤N, ai≠bi
  • 1≤ci≤100
  • Đồ 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 3→2 là đủ để có vòng 1→2→3→1.
3
1 3 1
1 2 5
3 2 1
2 Đảo hai con đường 1→2 và 3→2 giá 1+1 rẻ hơn so với đảo 1→2 giá 5.
4
1 2 9
2 3 8
3 4 7
4 1 5
0 Đã sẵn là vòng 1→2→3→4→1, 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.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