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

Ba đường đi trên cây

Đề bài

Mô tả

Cho một cây không trọng số gồm n đỉnh (đồ thị vô hướng liên thông, không có chu trình).

Hãy chọn ba đỉnh phân biệt a,b,c trên cây sao cho số cạnh thuộc ít nhất một trong ba đường đi đơn giữa ab, giữa bc, hoặc giữa ac là lớn nhất có thể.

Đường đi đơn là đường đi không đi qua đỉnh nào quá một lần.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số đỉnh của cây.
  • n1 dòng tiếp theo, mỗi dòng chứa hai số nguyên ai,bi (1ai,bin, aibi) mô tả một cạnh của cây. Dữ liệu đảm bảo đồ thị đã cho là một cây.

Dữ liệu ra

  • Dòng đầu in một số nguyên res — số cạnh lớn nhất thuộc ít nhất một trong ba đường đi giữa các cặp đỉnh được chọn.
  • Dòng thứ hai in ba số nguyên a,b,c đôi một khác nhau (1a,b,cn).

Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 3n2·105

Ví dụ

Input Output Giải thích
8
1 2
2 3
3 4
4 5
4 6
3 7
3 8
5
5 1 6
Chọn a=5,b=1,c=6: đường đi 5-1 gồm các cạnh (5,4),(4,3),(3,2),(2,1), đường đi 1-6 gồm (1,2),(2,3),(3,4),(4,6), đường đi 5-6 gồm (5,4),(4,6). Hợp của chúng có 5 cạnh. Bộ ba (1,8,6) cũng đạt 5 cạnh và đều được chấp nhận.
3
1 2
3 1
2
2 3 1
Với n=3 buộc phải chọn cả ba đỉnh, hợp ba đường đi phủ cả 2 cạnh của 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