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

Hội chợ

Đề bài

Mô tả

Đất nước Byteland có n thành phố và m con đường hai chiều, đảm bảo có thể đi từ thành phố bất kỳ tới thành phố bất kỳ khác bằng các con đường.

Byteland sản xuất k loại hàng hoá, mỗi thành phố chỉ sản xuất đúng một loại. Để tổ chức một hội chợ tại thành phố v, ban tổ chức phải mang về đó ít nhất s loại hàng hoá khác nhau. Chi phí vận chuyển hàng hoá từ thành phố u về thành phố v bằng d(u,v) đồng, trong đó d(u,v) là số con đường trên đường đi ngắn nhất giữa uv.

Ban tổ chức được tự do chọn lấy hàng từ thành phố nào (miễn là gom đủ s loại khác nhau). Với mỗi thành phố, hãy tính chi phí vận chuyển nhỏ nhất để tổ chức hội chợ tại đó.

Dữ liệu vào

  • Dòng đầu chứa bốn số nguyên n, m, k, s.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an, trong đó ai là loại hàng hoá thành phố i sản xuất.
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên u, v mô tả một con đường nối thành phố u và thành phố v.

Dữ liệu ra

In ra n số cách nhau bởi dấu cách, số thứ i là chi phí vận chuyển nhỏ nhất để tổ chức hội chợ tại thành phố i.

Ràng buộc

  • 1n105
  • 0m105
  • 1skmin(n,100)
  • 1aik, và mỗi giá trị từ 1 tới k đều xuất hiện ít nhất một lần trong dãy a
  • 1u,vn, uv; giữa hai thành phố bất kỳ có nhiều nhất một con đường

Ví dụ

Input Output Giải thích
5 5 4 3
1 2 4 3 2
1 2
2 3
3 4
4 1
4 5
2 2 2 2 3 Tại thành phố 1: lấy hàng loại 1 từ chính nó (0 đồng), loại 2 từ thành phố 2 (1 đồng), loại 3 từ thành phố 4 (1 đồng), tổng 2 đồng. Tại thành phố 5: lấy loại 2 từ chính nó (0 đồng), loại 3 từ thành phố 4 (1 đồng), loại 4 từ thành phố 3 (2 đồng), tổng 3 đồng.
7 6 3 2
1 2 3 3 2 2 1
1 2
2 3
3 4
2 5
5 6
6 7
1 1 1 2 2 1 1 Chỉ cần 2 trong 3 loại. Thành phố 4 sản xuất loại 3, loại gần nhất khác nó là loại 2 ở thành phố 2, cách 2 con đường, nên chi phí là 2.
1 0 1 1
1
0 Chỉ có một thành phố và cần đúng một loại hàng, thành phố đó tự cung cấp nên chi phí bằng 0.

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