Trên thực tế có nhiều bài toán liên quan tới một tập các đối tượng và những mối liên hệ giữa chúng, đòi hỏi toán học phải đặt ra một mô hình biểu diễn một cách chặt chẽ và tổng quát bằng ngôn ngữ ký hiệu, đó là đồ thị



tải về 418.79 Kb.
trang3/8
Chuyển đổi dữ liệu21.08.2016
Kích418.79 Kb.
#25787
1   2   3   4   5   6   7   8

Chuyên đề: ĐƯỜNG ĐI NGẮN NHẤT

  1. Bin Laden

Mã bài: BINLADEN


Trùm khủng bố Bin Laden trốn trong 1 căn hầm được đào sâu xuống mặt đất M tầng, mỗi tầng có N phòng. Các phòng được ngăn cách bằng các cửa rất khó phá. Các phòng có cửa xuống phòng ngay phía dưới và 2 phòng ở 2 bên. Từ trên mặt đất có N cửa xuống N phòng tầng -1. Bin Laden ở tầng dưới cùng (tầng -M) phòng thứ N (phòng ở bên phải nhất). Mỗi cửa được làm bằng một kim loại khác nhau với độ dày khác nhau nên việc phá cửa cần thời gian khác nhau.

Bạn hãy tìm cách đi từ mặt đất xuống phòng của Bin Laden nhanh nhất không hắn thoát mất.



Dữ liệu

  • Dòng 1 ghi M và N

  • Dòng 2 đến 2M + 1, dòng chẵn ghi N số, dòng lẻ ghi N - 1 số là chi phí để phá cửa.

Kết quả

Ghi ra 1 số là thời gian nhỏ nhất để đến được phòng của Bin Laden



Ví dụ


BINLADEN.INP

BINLADEN.OUT

4 2

99 10


1

10 99


1

99 10


1

10 99


1

44

+--99--+--10--+

| | |


| 1 |

| | |


+--10--+--99--+

| | |


| 1 |

| | |


+--99--+--10--+

| | |


| 1 |

| | |


+--10--+--99--+

| | |


| 1 |

| | |


+------+------+

Đi theo đường zigzac



Giới hạn

  • 1 <= M <= 2222

  • 1 <= N <= 10

  • Chi phí của các cánh cửa thuộc [0, 1000].
  1. Xúc xắc

Mã bài: XUCXAC


Một mặt bàn nằm ngang được chia làm lưới ô vuông, trong mỗi ô có ghi một số tự nhiên.

Cho 1 con xúc xắc nằm vừa vặn trên một ô của lưới. Mỗi mặt của xúc xắc là một số từ 1 đến 6. Ban đầu, mặt trước là số 1, mặt trên là số 2 và mặt bên phải là số 3, các mặt đối diện có tổng số là 7. Mỗi lần, con xúc xắc có thể lăn về phía trái, phải, trước, sau. Mỗi lần tiếp xúc với mặt bàn, ta mất một chi phí bằng số ghi trên ô mà xúc xắc đang nằm trên nhân với số trên mặt của xúc xắc đang tiếp xúc với mặt bàn.

Hãy tìm cách lăn từ một ô đến một ô khác trên mặt bàn để đạt chi phí nhỏ nhất.

Dữ liệu


  • Dòng đầu ghi 2 số M, N lần lượt là số dòng và số cột của lưới ô trên mặt bàn.

  • M dòng sau, mỗi dòng ghi N số nguyên không quá 100 là số ghi trên các ô lưới của mặt bàn. Các dòng được liệt kê theo thứ tự từ xa đến gần, các số trên mỗi dòng liệt kê từ trái sang phải.

  • Dòng cuối ghi 2 cặp số lần lượt là tọa độ (dòng, cột) của ô bắt đầu và ô kết thúc.

Kết quả


Ghi ra một số duy nhất là chi phí nhỏ nhất tìm được.

Giới hạn


1 ≤ M,N ≤ 50.

Ví dụ

XUCXAC.INP

XUCXAC.OUT


3 3

1 2 3


4 5 6

7 8 9

2 2 3 3

52

  1. Traffic Network

Mã bài: TRAFFICN


Mạng lưới giao thông thành phố gồm n nút được đánh số từ 1 đến n và m đường một chiều nối các cặp nút. Để giảm được độ dài của đường đi ngắn nhất giữa hai nút trọng yếu s và t khác nhau, một danh sách gồm k đường hai chiều được đề xuất để xem xét xây dựng.

Nhiệm vụ của bạn là viết một chương trình để chọn ra một đường trong danh sách đề xuất trên để xây dựng sao cho độ dài đường đi ngắn nhất giữa s và t là nhỏ nhất.


Dữ liệu vào


Dữ liệu vào gồm nhiều bộ dữ liệu tương ứng với nhiều test. Dòng đầu tiên chứa một số nguyên dương không lớn hơn 20 là số lượng các bộ dữ liệu. Các dòng tiếp theo chứa các bộ dữ liệu.

Với mỗi bộ dữ liệu, dòng đầu tiên chứa năm số nguyên dương n (n ≤ 10 000), m (m ≤ 100 000), k (k < 300), s (1 ≤ s ≤ n), t (1 ≤ t ≤ n) cách nhau bởi dấu trống. Dòng thứ i trong m dòng tiếp theo chứa ba số nguyên dương di, ci, li cách nhau bởi dấu trống, trong đó li là độ dài ( 0< li ≤ 1000) của đường một chiều thứ i từ nút di đến nút ci. Dòng thứ j trong k dòng tiếp theo chứa ba số nguyên dương uj, vj và qj (qj ≤ 1000) cách nhau bởi dấu trống, trong đó qj là độ dài của đường hai chiều được đề xuất thứ j nối giữa hai nút uj và vj.


Dữ liệu ra


Với mỗi bộ dữ liệu, ghi ra trên một dòng độ dài nhỏ nhất có thể của đường đi ngắn nhất giữa hai nút trọng yếu sau khi xây dựng xong một đường hai chiều từ danh sách đề xuất. Trường hợp không có đường đi từ s đến t, ghi -1.

Dữ liệu vào

TRAFFICN.INP

TRAFFICN.OUT

1

4 5 3 1 4

1 2 13

2 3 19


3 1 25

3 4 17


4 1 18

1 3 23


2 3 5

2 4 25


35
  1. Roads

Mã bài: ROADS


Có N thành phố 1..N nối bởi các con đường một chiều. Mỗi con đường có hai giá trị: độ dài và chi phí phải trả để đi qua. Bob ở thành phố 1. Bạn hãy giúp Bob tìm đường đi ngắn nhất đến thành phố N, biết rằng Bob chỉ có số tiền có hạn là K mà thôi.

Dữ liệu


Dòng đầu tiên ghi t là số test. Với mỗi test, dòng đầu ghi K (0 ≤ K ≤ 10000). Dòng 2 ghi N, 2 ≤ N ≤ 100. Dòng 3 ghi R, 1 ≤ R ≤ 10000 là số đường nối. Mỗi dòng trong N dòng sau ghi 4 số nguyên S, D, L, T mô tả một con đường nối giữa S và D với độ dài L ( 1 ≤ L ≤ 100) và chi phí T (0 ≤ T ≤ 100). Lưu ý có thể có nhiều con đường nối giữa hai thành phố.

Kết quả


Với mỗi test, in ra độ dài đường đi ngắn nhất từ 1 đến N mà tổng chi phí không quá K. Nếu không tồn tại, in ra -1.

Ví dụ


ROADS.INP

ROADS.OUT

2

5

6



7

1 2 2 3


2 4 3 3

3 4 2 4


1 3 4 1

4 6 2 1


3 5 2 0

5 4 3 2


0

4

4



1 4 5 2

1 2 1 0


2 3 1 1

3 4 1 0


11

-1

  1. Vị trí tốt nhất

Mã bài: BESTSPOT


Bessie, luôn luôn muốn cuộc sống của mình tốt hơn , đã thấy rõ rằng cô ta thật sự rất thích ghé thăm F (1 <= F <= P) cánh đồng yêu thích F_i trong tổng số P (1 <= P <= 500;1 <= F_i <= P) cánh đồng (được đánh số từ 1-> P) thuộc sơ hữu của nông dân John.

Bessie biết rằng cô ấy có thể xác định được C (1 <= C <= 8000) con đường hai chiều (được đánh số 1 .. C) kết nối tất cả các cánh đồng trong toàn bộ nông trại. Ứng với mỗi con đường P_i là thời gian đi T_i (1 <= T_i <= 892) và nối 2 cánh đồng a_i và b_i (1 <= a_i <= P; 1 <= b_i <= P).

Bessie muốn tìm cánh đồng tốt nhất để ngủ thỏa mãn bình quân thời gian để đi đến F cánh đồng yêu thích của cô ta là nhỏ nhất.

Ví dụ, hãy xem xét một nông trang được trình bày như một bản đồ dưới đây , nơi * 'd là cách đồng được yêu thích.Các số trong ngoặc là thời gian tương ứng để di chuyển giữa 2 cánh đồng .

1 *-- [4] - 2 - [2] - 3

| |


[3] [4]

| |


4 - [3] - 5 - [1] --- 6 --- [6] --- 7 - [7] - 8 *

| | | |


[3] [2] [1] [3]

| | | |


13 * 9 - [3] - 10 *-- [1] - 11 *-- [3] - 12 *

Bảng sau đây cho thấy các khoảng cách trung bình nếu nghỉ tại các cánh đồng 4, 5, 6, 7, 9, 10, 11, và 12: 4 7 16 5 6 9 3 46/6 = 7.67 5 10 13 2 3 6 6 40/6 = 6.67 6 11 12 1 2 5 7 38/6 = 6.33 7 16 7 4 3 6 12 48/6 = 8.00 9 12 14 3 4 7 8 48/6 = 8.00 10 12 11 0 1 4 8 36/6 = 6.00 ** BEST 11 13 10 1 0 3 9 36/6 = 6.00 12 16 13 4 3 0 12 48/6 = 8.00

Kết quả tối ưu là cánh đồng 10

Dữ liệu


  • Dòng 1: 3 số nguyên P,F,C

  • Dòng 2..F+1: Dòng i+2 chứa 1 số Nguyên F_i

  • Dòng F+2..C+F+1 : Mỗi dòng chứa 3 số Nguyên a_i, b_i, F_i mô tả 1 con đường 2 chiều là thời gian di chuyển giữa chúng.

Kết quả


Gồm 1 dòng duy nhất là cánh đồng được chọn . nếu có nhiều kết quả , chọn cánh đồng có chỉ số nhỏ nhất !

Ví dụ

BESTSPOT.INP

BESTSPOT.INP


13 6 15

11

13



10

12

8



1

2 4 3


7 11 3

10 11 1


4 13 3

9 10 3


2 3 2

3 5 4


5 9 2

6 7 6


5 6 1

1 2 4


4 5 3

11 12 3


6 10 1

7 8 7

10

  1. Số phụ thuộc

Mã bài: SUMS


Cho tập số nguyên A gồm n phần tử, A={a1, a2,..., an}. Số k được gọi là phụ thuộc vào tập A, nếu k được tạo thành bằng cách cộng các phần tử của tập A(mỗi phần tử có thể cộng nhiều lần).

Ví dụ cho A={2,5,7}. Các số như 2, 4(2+2), 12(5+7 hoặc 2+2+2+2+2) được gọi là phụ thuộc vào tập A. Số 0 cũng gọi là phụ thuộc vào tập A.


Yêu cầu:


Cho một dãy B, hãy kiểm tra xem bi có phải là số phụ thuộc vào tập A hay không .

Dữ liệu:


  • Dòng đầu tiên chứa số nguyên n (1 ≤ n ≤ 5000).

  • N dòng tiếp theo chứa các phân tử của tập A, a1 < a2 < ... < an (1 ≤ ai ≤ 50000 ).

  • Dòng thứ N+2 chứa số nguyên m (1 ≤ m ≤ 10000 ).

  • M dòng tiếp theo chứa dãy số nguyên b1, b2, ..., bm (0 ≤ bi ≤ 1000000000 ).

Kết quả:


Gồm m dòng, dòng thứ i ghi ra TAK nếu bi là số phụ thuôc vào tập A và NIE nếu không phải là số phụ thuộc.

Ví dụ:


SUMS.INP

SUMS.OUT

3

2

5



7

6

0



1

4

12



3

2


TAK

NIE


TAK

TAK


NIE

TAK

  1. CENTRE

Mã bài: CENTRE28


Theo thống kê cho biết mức độ tăng trưởng kinh tế của nước Peace trong năm 2006 rất đáng khả quan. Cả nước có tổng cộng N thành phố lớn nhỏ được đánh số tuần tự từ 1 đến N phát triển khá đồng đều. Giữa N thành phố này là một mạng lưới gồm M đường đi hai chiều, mỗi tuyến đường nối 2 trong N thành phố sao cho không có 2 thành phố nào được nối bởi quá 1 tuyến đường. Trong N thành phố này thì thành phố 1 và thành phố N là 2 trung tâm kinh tế lớn nhất nước và hệ thống đường đảm bảo luôn có ít nhất một cách đi từ thành phố 1 đến thành phố N.

Tuy nhiên,cả 2 trung tâm này đều có dấu hiệu quá tải về mật độ dân số. Vì vậy, đức vua Peaceful quyết định chọn ra thêm một thành phố nữa để đầu tư thành một trung tâm kinh tế thứ ba. Thành phố này sẽ tạm ngưng mọi hoạt động thường nhật, cũng như mọi luồng lưu thông ra vào để tiến hành nâng cấp cơ sở hạ tầng. Nhưng trong thời gian sửa chữa ấy, phải bảo đảm đường đi ngắn nhất từ thành phố 1 đến thành phố N không bị thay đổi, nếu không nền kinh tế quốc gia sẽ bị trì trệ.

Vị trí và đường nối giữa N thành phố được mô tả như một đồ thị N đỉnh M cạnh. Hãy giúp nhà vua đếm số lượng thành phố có thể chọn làm trung tâm kinh tế thứ ba sao cho thành phố được chọn thỏa mãn các điều kiện ở trên

Input


Dòng đầu tiên ghi 2 số nguyên dương N và M là số thành phố và số tuyến đường.

Dòng thứ i trong số M dòng tiếp theo ghi 3 số nguyên dương xi, yi và di với ý nghĩa tuyến đường thứ i có độ dài di và nối giữa 2 thành phố xi, yi.


Output


Dòng đầu tiên ghi số tự nhiên S là số lượng các thành phố có thể chọn làm trung tâm kinh tế thứ ba.

S dòng tiếp theo, mỗi dòng ghi 1 số nguyên dương là số thứ tự của thành phố được chọn ( In ra theo thứ tự tăng dần )


Example

CENTRE28.INP

CENTRE28.OUT


6 6

1 2 1


2 3 1

3 6 1


1 4 100

4 5 100


5 6 100

2

4

5

Giới hạn


  • 2 ≤ N ≤ 30000

  • 1 ≤ M ≤ 100000

  • 1 ≤ di ≤ 1000
  1. Floyd hoặc Dijkstra ( Cơ bản )

Mã bài: FLOYD


Cho đơn đồ thị vô hướng N đỉnh và M cạnh, trọng số các cạnh đều nguyên dương. Có 2 loại câu hỏi :
0 u v : Cho biết đường đi ngắn nhất từ u tới v có độ dài là bao nhiêu.
1 u v : Hãy chỉ ra 1 đường đi ngắn nhất từ u => v
Bài cơ bản này nhằm kiểm tra kỹ năng xây dựng các module chương trình con dành cho truy vết 1 cách hợp lý, sử dụng nhuần nhuyễn chương trình con, lời gọi hàm .

Download test và solution tại đây

Input


Dòng 1 : 3 số nguyên N , M , K . ( 1 ≤ N ≤ 100 , 1 ≤ M ≤ N*(N-1)/2 , 1 ≤ K ≤ 1000 )
M dòng tiếp theo , dòng thứ i gồm 3 số nguyên dương u , v , c cho biết cạnh (u,v) có trọng số là c ( 1 ≤ c ≤ 10000 )
K dòng tiếp theo là K câu hỏi , dòng thứ j sẽ có định dạng như đã nêu ở trên .

Output


Ứng với mỗi câu hỏi trong K câu hỏi thì ta phải trả lời trên mỗi dòng như sau .
Câu hỏi 0 u v : Ghi ra 1 số nguyên duy nhất là độ dài đường đi ngắn nhất từ u -> v.
Câu hỏi 1 u v : Ghi ra số đầu tiên là số X là số đỉnh trên đường đi ngắn nhất này , tiếp đó ghi ra X số là chỉ số các đỉnh theo thứ tự xuất hiện trên hành trình .

Example

FLOYD.INP

FLOYD.OUT


3 3 2

1 2 3


2 3 1

1 3 5


0 1 2

1 1 3


3

3 1 2 3

  1. Hai đường đi

Mã bài: HIWAY


Một mạng giao thông gồm N nút giao thông, và có M đường hai chiều nối một số cặp nút, thông tin về một đường gồm ba số nguyên dương u, v là tên hai nút đầu mút của đường, và l là độ dài đoạn đường đó. Biết rằng hai nút giao thông bất kì có không quá 1 đường hai chiều nhận chúng làm hai đầu mút.
Cho hai nút giao thông s và f, hãy tìm hai đường đi nối giữa s với f sao cho hai trên hai đường không có cạnh nào được đi qua hai lần và tổng độ dài 2 đường đi là nhỏ nhất.

Input


- Dòng đầu ghi N, M (N ≤ 100)
- Dòng thứ 2 ghi hai số s, f.
- M dòng tiếp theo, mỗi dòng mô tả một đường gồm ba số nguyên dương u, v, l.

Output


- Dòng đầu ghi T là tổng độ dài nhỏ nhất tìm được hoặc -1 nếu không tìm được.
- Nếu tìm được, hai dòng sau, mỗi dòng mô tả một đường đi gồm: số đầu là số nút trên đường đi này, tiếp theo là dãy các nút trên đường đi bắt đầu từ s, kết thúc tại f.

Chú ý:Phạm vi tính toán trong vòng Longint.

Example

HIWAY.INP

HIWAY.OUT


5 8

1 5


1 2 1

1 4 8


2 3 5

2 4 1


3 5 1

4 3 8


4 5 1

1 3 1


5

3 1 3 5

4 1 2 4 5

  1. Vận chuyển hàng

Mã bài: QBTRANS


Công ty MCA là một công ty vận tải nổi tiếng tại đất nước Peace, với mạng lưới hoạt động trong khắp cả nước. Sắp đến kỷ niệm 30 năm thành lập, giám đốc công ty quyết định mở một đợt khuyến mãi lớn cho tất cả các khách hàng. Cụ thể là công ty sẽ mở một số tuyến đường vận chuyển miễn phí cho khách hàng.

Mỗi tuyến đường như vậy sẽ xuất phát từ một thành phố, qua một số thành phố (không đi qua thành phố nào 2 lần) rồi quay về nơi xuất phát. Nếu tính chi phí vận chuyển trung bình trên từng tuyến đường thì chi phí chi ra cho đợt khuyến mãi này sẽ không nhỏ nên giám đốc cũng muốn các tuyến đường này thỏa điều kiện tổng độ dài đường đi chia cho tổng số con đường trong tuyến đường đó (gọi là chi phí của tuyết đường) là nhỏ nhất.

Cho một mạng lưới vận chuyển hàng của công ty MCA hãy tìm ra tuyến đường thích hợp nhất (thỏa cả 2 điều kiện trên) cho đợt khuyến mãi. Xuất ra chi phí của tuyến đường tìm được.

Input


Dòng đầu tiên ghi hai số nguyên N và M là số thành phố và số con đường trong mạng lưới. ( 1 ≤ N ≤ 100, 1 ≤ M ≤ 9000 )

M dòng tiếp theo, mỗi dòng ghi ba số nguyên a b c với ý nghĩa có đường đi một chiều từ a đến b với độ dài là c. ( 1 ≤ c ≤ 223 )


Output


Gồm 1 dòng duy nhất ghi một số thập phân với là chi phí nhỏ nhất. Nếu không tồn tại tuyến đường nào thỏa mãn ghi ra -1. ( ghi chính xác đến 2 chữ số sau dấu phẩy )

Example

QBTRANS.INP

QBTRANS.OUT


3 3

1 2 1


2 3 1

3 1 1


1.00
  1. VOI06 Kênh xung yếu

Mã bài: QBCIRARC


Một hệ thống n máy tính (các máy tính được đánh số từ 1 đến n) được nối lại thành một mạng bởi m kênh nối, mỗi kênh nối hai máy nào đó và cho phép truyền tin một chiều từ máy này đến máy kia. Ta gọi một mạch vòng của mạng đã cho là một dãy các máy tính và các kênh nối chúng có dạng:

u1, e1, u2, ...,ui, ei, ui+1, ..., uk-1, ek-1, uk, ek, u1

Trong đó u1, u2, ..., uk là các máy tính khác nhau trong mạng, ei – kênh truyền tin từ máy ui đến máy ui+1 (i = 1, 2, ..., k-1), ek là kênh truyền tin từ máy uk đến máy u1. Một kênh truyền tin trong mạng được gọi là kênh xung yếu nếu như bất cứ mạch vòng nào của mạng cũng đều chứa nó.

Yêu cầu: Hãy xác định tất cả các kênh xung yếu của mạng đã cho.

Input


Dòng đầu tiên chứa 2 số nguyên dương n và m.

Dòng thứ i trong số m dòng tiếp theo mô tả kênh nối thứ i bao gồm hai số nguyên dương u­i, vi cho biết kênh nối thứ i cho phép truyền tin từ máy ui đến máy vi.

Các số trên cùng một dòng được ghi cách nhau bởi dấu cách.

Output


Dòng đầu tiên ghi số nguyên k là số lượng kênh xung yếu trong mạng đã cho. Ghi k = -1 nếu mạng không chứa kênh xung yếu.

Nếu k>0 thì mỗi dòng trong số k dòng tiếp theo ghi thông tin về một kênh xung yếu tìm được theo qui cách mô tả giống như trong file dữ liệu vào. Đồng thời các kênh được in ra theo thứ tự từ điển


Example

QBCIRARC.INP

QBCIRARC.OUT


2 2

1 2

2 1


2

1 2


2 1

Hạn chế:


Trong tất cả các test: n ≤ 1000, m ≤ 20000. Có 50% số lượng test với n ≤ 200.
  1. Mạng 3 đỉnh

Mã bài: THREE


Cho một đa đồ thị vô hướng N đỉnh, M cạnh, mỗi cạnh có 1 trọng số nguyên dương.

Yêu cầu: Hãy chọn ra một số cạnh sao cho đồ thị tạo bởi N đỉnh và các cạnh được chọn này đảm bảo liên thông giữa 3 đỉnh 1, 2, 3 và tổng trọng số của các cạnh được chọn là nhỏ nhất. Dữ liệu vào đảm bảo có phương án.


Giới hạn


  • 3 ≤ N ≤ 100

  • 4 ≤ M ≤ 20000

  • Trọng số 1 cạnh ≤ 10000

Input


  • Dòng đầu tiên gồm 2 số nguyên: N, M.

  • M dòng tiếp theo: dòng thứ i gồm 3 số nguyên dương U V C tương ứng là cạnh này nối liền đỉnh U với đỉnh V, trọng số là C.

Output


  • Dòng 1: Chi phí nhỏ nhất.

  • Dòng 2: Số nguyên K là số cạnh chọn ra.

  • Ghi ra K số là chỉ số các cạnh đã chọn, các số ghi cách nhau ít nhất một dấu cách.

Example

THREE.INP

THREE.OUT


3 4

1 2 1


2 3 4

1 3 2


1 2 3

3

2

1 3


  1. Xây dựng đường

Mã bài: QBBUILD


Vua Peaceful vừa khai hoang một vùng đất để lập ra đất nước Peace, lúc đầu chỉ có N thành phố (được đánh số từ 1 đến N) và không có con đường nào.

Vua Peace chọn ra 4 thành phố đặc biệt để làm trung tâm kinh tế và 4 thành phố này phải được liên thông với nhau. Chi phí xây dựng các con đường không phải nhỏ vì thế nhà vua muốn sử dụng chi phí ít nhất để xây dựng các con đường sao cho 4 thành phố đặc biệt đó vẫn liên thông.

Bạn được biết chi phí ước tính để xây dựng một số con đường và bạn hãy chọn một số con đường để xây dựng để theo đúng ý nhà vua biết rằng luôn tồn tại ít nhất một phương án xây dựng đường sao cho 4 thành phố đặc biệt liên thông.

Input


Dòng đầu tiên ghi số nguyên dương N là số lượng các thành phố.( 1 ≤ N ≤ 100 )

Dòng thứ hai ghi 4 số nguyên là số hiệu của 4 thành phố đặc biệt.

Trong một số dòng tiếp theo, mỗi dòng ghi 3 số nguyên u, v và c với ý nghĩa muốn xây dựng một con đường hai chiều nối trực tiếp giữa 2 thành phố u và v thì chi phí là c. ( 1 ≤ c ≤ 5000 )

Output


Gồm 1 dòng duy nhất là tổng chi phí nhỏ nhất để xây dựng hệ thống đường.

Example

QBBUILD.INP

QBBUILD.OUT


5

2 3 4 1


1 2 10

1 5 1


5 2 1

1 4 1


4 3 3

3 2 2


5


tải về 418.79 Kb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương