Các triết gia từ lâu đã suy ngẫm về vấn đề Xe đẩy . Thật không may, không có con người đã giải quyết vấn đề này. May mắn thay, là lập trình viên, chúng tôi có thể sử dụng máy tính để giải quyết vấn đề cho chúng tôi!
Đầu vào
Chương trình của bạn sẽ lấy đầu vào là một đồ thị có hướng (hữu hạn) (có nhiều nhất một cạnh từ x
đến y
, cho bất kỳ x
và y
), với một nút được chỉ định và một số nguyên không âm được gắn vào mỗi cạnh (đại diện cho số người được gắn với rãnh đó) . Ngoài ra, mỗi nút có ít nhất một cạnh thoát.
Xe đẩy bắt đầu tại nút được chỉ định. Mỗi lượt, nếu xe đẩy ở nút x
, người thực dụng chọn một cạnh (x,y)
. Những người ở rìa đó chết, và xe đẩy hiện đang ở rìa y
. Quá trình này tiếp diễn mãi mãi.
Lưu ý rằng mọi người chỉ có thể chết một lần, vì vậy nếu cạnh (x,y)
có n
người bị trói, và xe đẩy chạy qua họ, giả sử, 100 lần, nó vẫn sẽ chỉ dẫn đến n
tử vong.
Đầu ra
Người thực dụng đưa ra lựa chọn của mình theo cách giảm thiểu số người chết (được đảm bảo là hữu hạn, vì chỉ có những người hữu hạn). Chương trình của bạn sẽ xuất số này.
định dạng đầu vào
Bạn có thể lấy biểu đồ đầu vào theo bất kỳ cách hợp lý nào bạn muốn. Ví dụ: bạn có thể lấy nó làm ma trận và đếm nút được chỉ định là nút có nhãn 0. Hoặc bạn có thể sử dụng một cái gì đó như x1,y1,n1;x2,y2,n2;...
. Ví dụ 0,a,0;a,b,5;a,c,1;b,b,0;c,c,0
để đại diện cho vấn đề xe đẩy tiêu chuẩn (với các vòng lặp ở cuối).
Tủ thử
0,a,0;a,b,5;a,c,1;b,b,0;c,c,0
-> 1 (Đi từ 0 đến a, a đến c (giết một người), rồi tiếp tục vòng xe đẩy từ c đến c).0,0,1;0,a,5;a,a,0
-> 1 (Tiếp tục từ 0 đến 0, chạy mãi mãi trên 1 người),0,a,5;0,b,1;a,a,1;b,b,6
-> 6 (0 -> a -> a -> a -> a -> ... (lưu ý rằng giải pháp tham lam đi đến b sẽ không chính xác))0,a,1;0,b,5;a,b,1;b,a,1
-> 3 (0 -> a -> b -> a -> b -> ...)0,a,1;0,b,1;a,a,0;b,b,0
-> 1 (Lưu ý rằng có hai tùy chọn khác nhau mà người thực dụng có thể cho rằng cả hai chỉ giết một người)
Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất sẽ thắng! Chúc may mắn.
Lưu ý: Sẽ không có vòng lặp bệnh de và vòng lặp đa nhiệm bị cấm. Ngoài ra, mặc dù tôi thích nghĩ về vấn đề này theo ba điều luật của Asimov, Peter Taylor đã lưu ý trong hộp cát rằng vấn đề này tương đương về mặt toán học với việc tìm ra rho (đường vòng trở lại chính nó) có trọng lượng thấp nhất .