trang chủ / đề bài / coloredge

Đường đi cạnh màu không giảm

Đề bài

Mô tả

Cho đồ thị có hướng n đỉnh, m cạnh. Mỗi cạnh i đi từ ui tới vi, có màu ci (số nguyên dương) và trọng số wi (số nguyên dương).

Một đường đi u0→u1→⋯→uk được gọi là hợp lệ nếu dãy màu các cạnh dùng theo thứ tự đi là không giảm, tức $c_{e1} \le c{e2} \le \cdots \le c{e_k}$.

Hãy tìm đường đi hợp lệ từ đỉnh 1 tới đỉnh n có tổng trọng số nhỏ nhất, hoặc kết luận không có.

Dữ liệu vào

  • Dòng 1: ba số nguyên n, m, C — C là cận trên của màu.
  • m dòng sau, mỗi dòng bốn số ui,vi,ci,wi.

Dữ liệu ra

In ra tổng trọng số nhỏ nhất, hoặc −1 nếu không tồn tại đường đi hợp lệ.

Ràng buộc

  • 2≤n≤2000
  • 1≤m≤20000
  • 1≤C≤20
  • 1≤ci≤C, 1≤wi≤109
  • Có thể có cạnh song song, nhưng không có khuyên (ui≠vi).

Ví dụ

Input Output Giải thích
3 3 2
1 2 2 10
1 2 1 5
2 3 2 3
8 Dùng cạnh màu 1 (5) rồi màu 2 (3) = 8.
3 2 2
1 2 2 1
2 3 1 1
-1 Màu 2 → 1 vi phạm không giảm.
2 1 1
1 2 1 7
7 Một cạnh duy nhất.

Ghi chú

Mở rộng trạng thái thành (đỉnh,màu cuối cùng), áp dụng Dijkstra.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0