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

Vòng quanh thế giới

Đề bài

Mô tả

Cho một đất nước gồm n thành phố và m con đường một chiều. Tất cả các con đường đều có cùng độ dài bằng 1.

Bạn cần chọn ra bốn thành phố khác nhau và sắp xếp chúng theo một thứ tự thăm v1,v2,v3,v4. Người du khách sẽ lần lượt đi từ v1 đến v2, từ v2 đến v3, rồi từ v3 đến v4, mỗi chặng luôn đi theo đường ngắn nhất giữa hai thành phố tương ứng. Trên mỗi chặng, đường đi có thể đi qua các thành phố khác (kể cả các thành phố nằm trong hành trình) và có thể đi qua cùng một thành phố nhiều lần.

Gọi d(x,y) là độ dài đường đi ngắn nhất (số cạnh) từ x đến y. Hãy chọn thứ tự thăm sao cho tổng quãng đường

d(v1,v2)+d(v2,v3)+d(v3,v4)

lớn nhất có thể.

Dữ liệu đảm bảo luôn tồn tại cách chọn bốn thành phố khác nhau sao cho cả ba chặng đều đi được.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm — số thành phố và số con đường một chiều.
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên ui,vi — một con đường một chiều từ ui đến vi. Các đỉnh ui,vi không nhất thiết phân biệt và có thể có nhiều con đường giữa cùng một cặp thành phố.

Dữ liệu ra

In ra bốn số nguyên là số hiệu của bốn thành phố theo đúng thứ tự thăm sao cho tổng quãng đường là lớn nhất. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 4n3000
  • 3m5000
  • 1ui,vin

Ví dụ

Input Output Giải thích
8 9
1 2
2 3
3 4
4 1
4 5
5 6
6 7
7 8
8 5
2 1 8 7 d(2,1)=3, d(1,8)=7, d(8,7)=3, tổng bằng 13 là lớn nhất. Mọi thứ tự khác cho tổng lớn nhất đều được chấp nhận.
9 20
2 5
3 2
3 4
4 8
4 4
4 3
4 3
4 3
5 9
5 2
5 1
6 2
6 3
7 1
7 9
7 7
8 9
8 9
9 4
9 8
7 2 8 1 Tổng quãng đường của hành trình 7281 đạt giá trị lớn nhất là 13.

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