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

Con đường đẹp nhất

Đề bài

Mô tả

n thành phố được nối với nhau bởi đúng n1 con đường, sao cho từ bất kỳ thành phố nào cũng có thể đi tới mọi thành phố khác (mạng lưới đường tạo thành một cây). Con đường thứ i nối hai thành phố aibi, và một đạo quân đi hết con đường đó mất di ngày.

Trong lịch sử, mỗi thành phố đã tấn công mỗi thành phố khác đúng một lần, nên có tất cả n(n1) lượt tấn công (lượt tấn công từ u sang v và lượt từ v sang u được tính riêng biệt).

Trong một lượt tấn công từ u sang v, đạo quân đi theo đường đi duy nhất giữa uv trên cây. Người ta trồng một cây kỷ niệm bên con đường mà đạo quân tốn nhiều thời gian nhất trên đường đi đó, tức là con đường có d lớn nhất trong số các con đường thuộc đường đi. Nếu có nhiều con đường cùng đạt giá trị d lớn nhất trên đường đi đó thì mỗi con đường như vậy đều được trồng một cây.

Với mỗi con đường, hãy tính tổng số cây được trồng bên nó qua toàn bộ n(n1) lượt tấn công. Tìm con đường có nhiều cây nhất.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n, số lượng thành phố.
  • n1 dòng tiếp theo, dòng thứ i chứa ba số nguyên ai, bi, di: hai thành phố được nối bởi con đường thứ i và số ngày đi hết con đường đó. Các con đường được đánh số từ 1 đến n1 theo thứ tự nhập vào.

Dữ liệu ra

  • Dòng đầu in ra hai số nguyên: số cây lớn nhất được trồng bên một con đường, và số lượng con đường đạt giá trị lớn nhất đó.
  • Dòng thứ hai in ra danh sách chỉ số của các con đường đó theo thứ tự tăng dần.

Ràng buộc

  • 2n105
  • 1ai,bin
  • 1di109
  • Có thể có nhiều con đường cùng độ dài d.

Ví dụ

Input Output Giải thích
2
2 1 5
2 1
1
Chỉ có một con đường. Hai lượt tấn công (từ 1 sang 2 và từ 2 sang 1) đều trồng cây bên con đường 1, tổng cộng 2 cây.
6
1 2 1
1 3 5
3 4 2
3 5 3
3 6 4
16 1
2
Con đường 2 (nối 13, d=5) là con đường dài nhất và là cầu nối giữa hai phần của cây, nên nó là con đường có d lớn nhất trên rất nhiều đường đi, đạt 16 cây.

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