Hiển thị các bài đăng có nhãn Prim. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Prim. Hiển thị tất cả bài đăng

Thứ Tư, 16 tháng 3, 2016

TƯỚI NƯỚC ĐỒNG CỎ

Nguồn: spoj
Nông dân John quyết định mang nước tới cho N (1 <= N <= 300) đồng cỏ của mình, để thuận tiện ta đánh số các đồng cỏ từ 1 đến N. Để tưới nước cho 1 đồng cỏ John có thể chọn 2 cách, 1 là đào ở đồng cỏ đó 1 cái giếng hoặc lắp ống nối dẫn nước từ những đồng cỏ trước đó đã có nước tới.
Để đào một cái giếng ở đồng cỏ i cần 1 số tiền là W_i (1 <= W_i <= 100,000). Lắp ống dẫn nước nối 2 đồng cỏ i và j cần 1 số tiền là P_ij (1 <= P_ij <= 100,000; P_ij = P_ji; P_ii=0).
Tính xem nông dân John phải chi ít nhất bao nhiêu tiền để tất cả các đồng cỏ đều có nước.
Dữ liệu vào: trong file FWATER.INP
+ Dòng 1: Một số nguyên duy nhất: N
+ Các dòng 2..N + 1: Dòng i+1 chứa 1 số nguyên duy nhất: W_i
+ Các dòng N+2..2N+1: Dòng N+1+i chứa N số nguyên cách nhau bởi dấu cách; số thứ j là P_ij
Dữ liệu ra: trong file FWATER.OUT
 Một số nguyên duy nhất là chi phí tối thiểu để cung cấp nước cho tất cả các đồng cỏ.
Ví dụ:

FWATER.INP
FWATER.OUT
4
5
4
4
3
0 2 2 2
2 0 3 3
2 3 0 4
2 3 4 0
9

Thứ Tư, 4 tháng 11, 2015

ĐƯỜNG CAO TỐC


Hệ thống đường cao tốc hiện tại ở thành phố A mới đảm bảo đi lại giữa một số nút giao thông trọng điểm và còn nhiều nút giao thông trọng điểm khác vẫn chưa có đường cao tốc đi qua nó. Để giải tỏa tình trạng ách tắc giao thông của thành phố, chính quyền thành phố quyết định phát triển hệ thống đường cao tốc của thành phố sao cho có thể đi lại giữa hai nút giao thông trọng điểm bất kỳ. Có N nút giao thông trọng điểm được đánh số từ 1 đến N. Nút giao thông i được cho bởi tọa độ (xi,yi) trong hệ thống tọa độ Đề­các. Mỗi tuyến đường chính là khoảng cách giữa hai điểm tương ứng với hai nút giao thông trọng điểm. Tất cả các tuyến đường cao tốc là hai chiều. Các tuyến đường có thể cắt nhau nhưng người sử dụng phương tiện giao thông chỉ được đổi tuyến đi ở các nút giao thông là đầu mút của các tuyến đường. Chính quyền thành phố muốn tìm cách xây dựng bổ sung một số tuyến đường cao tốc nối các nút giao thông trọng điểm với chi phí nhỏ nhất đảm bảo sự đi lại giữa mọi nút giao thông trọng điểm. Chi phí bổ sung như là tổng độ dài của các tuyến đường cần xây dựng
Dữ liệu vào: từ file văn bản HIGHWAY.INP
+ Dòng đầu tiên chứa số N (N≤750)
+ Dòng thứ i trong số N dòng tiếp theo chứa tọa độ (xi,yi) của nút giao thông trọng điểm i
+ Dòng tiếp theo chứa M là số tuyến đường cao tốc hiện có (0≤M≤1000)
+ Dòng thứ j trong số M dòng tiếp theo chứa hai số nguyên dương u, v cho biết đã có tuyến đường cao tốc nối từ nút giao thông u đến nút v. (1<=u,v<=n)
Dữ liệu ra: ghi vào file HIGHWAY.OUT
+ Dòng đầu tiên ghi số K cho biết số lượng các tuyến đường cần xây dựng
+ K dòng tiếp theo mỗi dòng ghi hai số u và v cho biết tuyến đường giữa hai thành phố u và v cần xây dựng
Ví dụ
HIGHWAY.INP
HIGHWAY.OUT
9
1 5
0 0
3 2
4 5
5 1
0 4
5 2
1 2
5 3
4
1 3
9 7
1 2
2 3
5
1 6
3 7
3 8
4 9
5 7
 (Lưu ý kết quả phải ghi theo thứ tự tăng dần nếu ui=ui+1 thì sắp xếp tăng dần theo v; ui<vi)
SOLUTION CODE TEST