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

DU LỊCH NHIỀU TOUR NHẤT

Một khu thắng cảnh gồm n điểm đánh số từ 1 tới n và m đường đi hai chiều giữa các cặp địa điểm đó. Mỗi đường đi nối hai điểm khác nhau trong số N điểm đa cho và giữa hai địa điểm bất kỳ có nhiều nhất một đường đi nối chúng.
Một Tour du lịch là một hành trình xuất phát từ một địa điểm đi thăm ít nhất 2 địa điểm khác và quay trở về điểm xuất phát, ngoại trừ địa điểm xuất phát, không địa điểm nào bị thăm tới hai lần.
Yêu cầu: Hãy tìm một số tour du lịch nhiều nhất sao cho mỗi tour du lịch tìm được đều có một đoạn đường riêng hoàn toàn không có mặt trong các tua du lịch còn lại.
Dữ liệu vào: từ file văn bản TOURS.INP
+ Dòng 1: Ghi hai số n, m  (1<=n, m<=20000)
+ m dòng tiếp theo mỗi dòng có dạng x y cho biết giữa hai địa điểm x và y có đường đi trực tiếp.
Kết quả: Ghi ra file văn bản TOURS.OUT
+ Dòng 1: Ghi số k là số tour du lịch tìm được
+ k dòng tiếp theo, dòng thứ i mô tả tour du lịch thứ i: Bắt đầu là điểm xuất phát, tiếp theo là danh sách các địa điểm sẽ đi tiếp theo thứ tự trong các hành trình, kết thúc là địa điểm xuất phát.
Các số trên một dòng của Input/Output file được ghi cách nhau ít nhất một dấu cách
Ví dụ:
TOURS.INP
TOURS.OUT
5 10
1 3
2 4
3 5
4 1
5 2
1 2
2 3
3 4
4 5
5 1

6
2 3 4 5 1 2
2 3 4 5 2
2 3 4 2
3 4 5 3
3 4 5 1 3
4 5 1 4
Solution Test Code

Không có nhận xét nào: