QJ1460 - Đường đi
Xem dưới dạng PDFĐây là bài điền kết quả, bạn chỉ cần tính ra kết quả rồi dùng câu lệnh xuất trong code để in kết quả đó ra.
Sau khi học xong đường đi ngắn nhất, Lan vô cùng thích thú. Cậu định nghĩa một đồ thị đặc biệt và muốn tìm đường đi ngắn nhất trong đồ thị đó.
Đồ thị của Lan gồm 2021 đỉnh, đánh số lần lượt từ 1 đến 2021.
Với hai đỉnh khác nhau a, b: nếu giá trị tuyệt đối của hiệu giữa a và b lớn hơn 21 thì giữa hai đỉnh không có cạnh nối; nếu giá trị tuyệt đối của hiệu giữa a và b nhỏ hơn hoặc bằng 21 thì giữa hai đỉnh có một cạnh vô hướng với độ dài bằng bội chung nhỏ nhất của a và b.
Ví dụ:
- Đỉnh 1 và đỉnh 23 không có cạnh nối (|1-23|=22 > 21)
- Đỉnh 3 và đỉnh 24 có một cạnh vô hướng, độ dài 24 (lcm(3,24)=24)
- Đỉnh 15 và đỉnh 25 có một cạnh vô hướng, độ dài 75 (lcm(15,25)=75)
Hãy tính độ dài đường đi ngắn nhất giữa đỉnh 1 và đỉnh 2021.
Gợi ý: nên dùng lập trình trên máy tính để giải bài toán.
Dùng thuật toán Floyd để tính đường đi ngắn nhất giữa mọi cặp đỉnh Quy mô đồ thị không lớn, có thể dùng ma trận kề để lưu trữ
Dữ liệu vào
Bài này không có đầu vào.
Dữ liệu ra
In ra một số nguyên là độ dài đường đi ngắn nhất giữa đỉnh 1 và đỉnh 2021.
Ví dụ
Input
Output
Ghi chú
Phạm vi dữ liệu
- Số đỉnh: 2021
- Điều kiện tồn tại cạnh: |a-b| ≤ 21
- Trọng số cạnh: lcm(a, b)
Nhận xét