trang chủ / đề bài / dhbb18_dij

Dịch vụ mạng

Đề bài

Mô tả

Hệ thống mạng truyền thông của công ty HP bao gồm n nút và m kênh nối trực tiếp một chiều giữa hai nút. Các nút được đánh số từ 1 đến n. Các kênh nối được đánh số từ 1 đến m. Kênh nối từ nút i tới nút j mất tij đơn vị thời gian để truyền tin. Có thể có nhiều kênh truyền tin từ một nút đến một nút khác. Để đánh giá hiệu suất hệ thống mạng, công ty đã đánh giá dựa trên giá trị DIJ, giá trị DIJ được tính bằng tổng độ dài đường đi ngắn nhất giữa tất cả các cặp nút trong hệ thống mạng, cụ thể DIJ=∑1≤i≠j≤ndij, trong đó dij là độ dài đường đi ngắn nhất từ nút i đến nút j (tổng thời gian truyền tin của các kênh trên đường đi).

Trong thời gian tới, công ty sẽ bổ sung thêm ba nút (ba nút này được đánh số tương ứng là n+1,n+2,n+3) và một số kênh nối liên quan đến ba nút này vào hệ thống mạng. Công ty cần tính giá trị DIJ trên hệ thống mạng mới (tổng dij trên mọi cặp có thứ tự gồm hai nút khác nhau trong số n+3 nút).

Yêu cầu: Cho biết hệ thống mạng truyền thông ban đầu của công ty HP và k giả định bổ sung vào hệ thống mạng. Với mỗi giả định, hãy tính giá trị DIJ trên hệ thống mạng mới. Các giả định độc lập với nhau: mỗi giả định chỉ gồm hệ thống mạng ban đầu cùng các kênh của riêng giả định đó.

Dữ liệu vào

  • Dòng đầu tiên chứa 3 số nguyên dương n,m,k.
  • Dòng thứ s (s=1,2,…,m) trong số m dòng tiếp theo ghi ba số nguyên dương is,js,tisjs lần lượt là chỉ số đầu, chỉ số cuối và thời gian truyền tin của kênh thứ s.
  • Dòng thứ p (p=1,2,…,k) trong số k dòng tiếp theo mô tả giả định thứ p có dạng: số đầu tiên là số ep là số lượng kênh nối liên quan đến ba nút mới thêm vào hệ thống. Tiếp theo là ep bộ ba số uh,vh,tuhvh (h=1,2,…,ep) lần lượt là chỉ số đầu, chỉ số cuối và thời gian truyền tin của ep kênh nối bổ sung. Mỗi kênh bổ sung có ít nhất một đầu là một trong ba nút mới.

Dữ liệu đảm bảo có đường truyền tin từ một nút đến một nút bất kì khác, cả trong hệ thống mạng ban đầu và trong hệ thống mạng mới của mọi giả định.

Dữ liệu ra

Gồm k dòng, mỗi dòng chứa một số là giá trị DIJ tương ứng với từng giả định.

Ràng buộc

  • 2≤n≤400; n≤m≤104; 1≤k≤400.
  • 1≤is,js≤n, is≠js.
  • 1≤ep≤100; 1≤uh,vh≤n+3, uh≠vh, max(uh,vh)>n.
  • Mọi thời gian truyền tin là số nguyên trong đoạn [1,106].

Subtasks

  • Có 40% số test ứng với 40% số điểm của bài có k=1;
  • Có 20% số test khác ứng với 20% số điểm của bài có k≤3;
  • Có 40% số test còn lại ứng với 40% số điểm của bài có k≤400.

Ví dụ

Input Output Giải thích
3 3 1
1 2 5
2 3 5
3 1 5
4 1 4 1 4 5 1 5 6 1 6 1 1
183 Mạng mới có 6 nút. Chẳng hạn d2,1=10 không đổi, d1,6=3 (đi 1→4→5→6), d3,4=6 (đi 3→1→4). Tổng 30 giá trị dij là 183.
3 4 2
1 2 2
2 3 2
3 1 2
1 2 7
6 1 4 1 4 3 1 3 5 4 5 1 4 2 6 3 6 2 3
5 4 5 1 5 6 1 6 4 1 4 1 2 3 6 2
140
117
Ví dụ bổ sung (không có trong đề gốc). Có hai kênh từ nút 1 đến nút 2, đường đi ngắn nhất dùng kênh thời gian 2. Ở giả định thứ nhất d1,3=2 (đi 1→4→3). Giả định thứ hai không chứa các kênh của giả định thứ nhất.

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