Cho N thành phố và một số đờng đi hai chiều giữa các thành phố trên. Mỗi đờng đi đợc gán 2 số nguyên dơng t, k; t là số tiền mà mỗi phơng tiện đi lại trên đờng phải trả (cho mỗi lần đi), k là độ dài của đoạn đờng.
Hệ thống đờng đợc gọi là "Liên thông" nếu từ bất kỳ thành phố nào đều có thể đi đến bất kỳ thành phố khác và ngợc lại.
Hệ thống đờng đợc gọi là "Tối u" nếu nó là Liên thông và nếu loại bỏ một đờng bất kỳ thì nó trở nên không Liên thông.
Nếu có đờng đi A đ B, B đ C và A đ C với các thông số tơng ứng tab, tbc, tac và kab, kbc và kac thì phải thỏa mãn
tab + tbc <= tac
kab + kbc >= kac
Xét các bài toán sau:
A) Cho trớc hệ thống thành phố và đờng đi. Nếu nó không là Liên thông hãy bổ sung một số tối thiểu các đờng đi để trở thành Liên thông. Hãy điền các thông số tơng ứng sao cho hệ thống trở nên Hoàn hảo.
B) Nếu hệ thống không là Tối u, hãy loại bớt đi một số đờng đi sao cho nó trở nên Tối u. Cách loại đi phải đạt đợc một trong ba mục đích sau:
1. Số đờng bị loại là nhỏ nhất.
2. Tổng số khoảng cách đờng bị loại là nhiều nhất. 3. Tổng số tiền của các đờng bị loại là nhiều nhất.
C) Nếu hệ thống không là Hoàn hảo hãy điều chỉnh số tiền và độ dài của các đờng sao cho nó trở nên Hoàn hảo. Số các số phải chỉnh là nhỏ nhất.
D) Cho trớc hai thành phố X, Y. Hãy tìm một đờng đi tối u từ X đến Y theo nghĩa: Mọi con đờng khác đều có hoặc số tiền phải trả nhiều hơn hoặc có độ dài lớn hơn.
Yêu cầu bài làm: Câu 1:
Nhập dữ liệu bài toán từ tệp văn bản DATA.TRS với các điều kiện sau: Dòng đầu tiên ghi số N các thành phố.
Từ dòng thứ hai là các thông số về các đờng đi, ví dụ dòng số sau: 1 3 25 320
có ý nghĩa: đờng đi từ thành phố 1 đến thành phố 3 có độ dài 320 km và số tiền phải trả cho mỗi lần đi là 25 đồng.
Hãy kiểm tra tính đúng đắn của dữ liệu.
Kiểm tra tính Liên thông, tính Tối u và Hoàn hảo của hệ thống đờng trên. Câu 2:
Giải quyết các bài toán (A), (B), (C), (D) cho hệ thống đờng trên.
Kết quả ghi lại vào các tệp văn bản có tên A.KQ, B.KQ, C.KQ. Riêng bài toán (B) phải có đủ cả 3 phơng án.
Bài toán (D) không cần đa kết quả ra tệp văn bản. Chú ý:
Kết quả có thể vừa đa ra màn hình vừa ghi lại trên đĩa nh đã nêu trên. Hạn chế số N <= 20.