Đường đi dài nhất qua đúng k cung
Đề bài
Mô tả
Như chúng ta đã biết, bài toán tìm đường đi dài nhất trong một đồ thị có cạnh trọng số không âm là bài toán siêu khó (NP hard). Bài toán sẽ đơn giản hơn nếu như đường đi đó có số cạnh cố định, tức là ta bắt buộc đường đi đó phải đi qua chính xác cạnh.
Bạn được cho bài toán như sau: Cho một đồ thị có hướng có trọng số gồm đỉnh và cung. Các đỉnh được đánh số từ đến .
Yêu cầu: Tìm một đường đi bất kỳ (bắt đầu tại một đỉnh bất kỳ) đi qua đúng cung sao cho tổng trọng số các cung được đi qua là lớn nhất có thể.
Một đỉnh hoặc một cung có thể được đi qua nhiều hơn một lần. Đồ thị có thể có khuyên (cung từ một đỉnh tới chính nó) và nhiều cung cùng nối từ tới .
Dữ liệu vào
- Dòng đầu tiên chứa ba số nguyên dương ;
- dòng tiếp theo, mỗi dòng gồm ba số nguyên mô tả cung từ đến có trọng số .
Dữ liệu ra
Ghi ra một số duy nhất là trọng số lớn nhất tìm được. Nếu không tồn tại đường đi qua đúng cung thì in ra .
Ràng buộc
- , , .
- , .
Subtasks
- Subtask 1 ( số điểm): đồ thị có dạng một vòng tròn, các đỉnh trên vòng được sắp xếp từ đến : và các cung là (cho theo thứ tự bất kỳ; khi đó là khuyên ).
- Subtask 2 ( số điểm): .
- Subtask 3 ( số điểm): không có ràng buộc gì thêm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 4 6 1 2 10 2 3 3 3 4 3 4 2 3 |
25 | Đường đi qua đúng cung, tổng trọng số . |
| 3 2 3 1 2 5 2 3 7 |
-1 | Ví dụ bổ sung. Đường đi dài nhất trong đồ thị chỉ có cung nên không có đường đi qua đúng cung. |
| 2 3 3 1 2 4 1 2 9 2 1 1 |
19 | Ví dụ bổ sung. Có hai cung từ tới ; đường đi tốt nhất là , cả hai lần đều dùng cung trọng số : . Bắt đầu từ đỉnh chỉ được . |
Bình luận