Đua xe AlgoRace
Đề bài
Mô tả
Có một cuộc đua xe diễn ra ở một đất nước gồm thành phố, đánh số từ đến . Giữa hai thành phố phân biệt bất kỳ đều có đúng một con đường hai chiều nối trực tiếp.
Ban tổ chức chuẩn bị loại xe khác nhau. Mỗi loại xe đi qua mỗi con đường (theo mỗi chiều) trong một khoảng thời gian riêng: loại xe đi từ thành phố tới thành phố mất một thời gian cho trước. Thời gian đi từ tới và từ tới có thể khác nhau (ma trận thời gian không nhất thiết đối xứng).
Cuộc đua gồm vòng. Ở vòng thứ , tay đua xuất phát tại thành phố và cần về đích tại thành phố . Trong một vòng, tay đua được phép đổi xe không quá lần. Việc đổi xe có thể thực hiện tại bất kỳ thành phố nào và không tốn thời gian. Một loại xe có thể được dùng nhiều lần, nhưng tổng số lần đổi không vượt quá . Tay đua tự do chọn đường đi tới đích.
Với mỗi vòng, hãy tìm thời gian nhỏ nhất để hoàn thành.
Dữ liệu vào
- Dòng đầu chứa ba số nguyên , , .
- Tiếp theo là khối, mỗi khối là một ma trận mô tả một loại xe. Số thứ trên dòng thứ của khối thứ là thời gian loại xe đi từ thành phố tới thành phố . Đường chéo luôn bằng .
- dòng cuối, mỗi dòng chứa ba số nguyên , , : thành phố xuất phát, thành phố đích và số lần đổi xe tối đa của vòng thứ .
Dữ liệu ra
In ra dòng, dòng thứ là thời gian nhỏ nhất để hoàn thành vòng thứ .
Ràng buộc
- Mọi thời gian trên đường là số nguyên trong đoạn .
- , ,
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 2 3 0 1 5 6 2 0 3 6 1 3 0 1 6 6 7 0 0 3 5 6 2 0 1 6 1 3 0 2 6 6 7 0 1 4 2 1 4 1 1 4 3 |
3 4 3 |
Cả ba vòng đều đi từ thành phố 1 → 2 → 3 → 4. Vòng 1 dùng dãy xe (1, 2, 1) nên tốn thời gian 3. Vòng 2 chỉ được đổi 1 lần, dùng dãy (1, 2, 2) tốn 4. Vòng 3 được đổi tới 3 lần nhưng chiến thuật tốt nhất chỉ cần 2 lần đổi như vòng 1, nên vẫn là 3. |
| 4 2 3 0 7 3 3 8 0 10 5 1 1 0 4 8 9 2 0 0 3 3 9 7 0 4 9 3 8 0 4 4 8 9 0 2 3 3 2 1 3 1 2 2 |
4 5 3 |
Với số lần đổi xe cho phép, mỗi vòng chọn được chiến thuật kết hợp đường đi và loại xe để đạt thời gian nhỏ nhất tương ứng 4, 5, 3. |
Bình luận