Hành trình của Drunkard
Trong thử thách này, bạn sẽ viết một chương trình mô phỏng một người say rượu vấp ngã trên đường từ quán bar.
Đầu vào:
Đầu vào sẽ là một ma trận kề (biểu thị một đồ thị có hướng) đại diện cho các đường dẫn mà người say rượu có thể đi. Tại mỗi địa điểm, người say rượu sẽ chọn một con đường ngẫu nhiên (Mỗi tùy chọn có cơ hội xấp xỉ bằng nhau và độc lập với các lựa chọn trước) để đi theo.
Giả sử rằng người say rượu luôn bắt đầu tại quán bar (hàng đầu tiên trong ma trận kề).
Nếu người say rượu đi vào ngõ cụt, có thể giả định rằng anh ta hoặc đã về nhà hoặc bị bắt vì say công khai và chương trình sẽ quay trở lại con đường của anh ta.
Có thể giả định rằng đồ thị sẽ luôn chứa ít nhất một ngõ cụt.
Cũng có thể giả định rằng người say rượu sẽ luôn có thể thoát khỏi quán bar (hàng đầu tiên sẽ không phải là tất cả các số 0) và nếu người say rượu sẽ bị mắc kẹt ở một vị trí, thì hàng đó sẽ được đại diện bởi tất cả các số không.
Đầu ra:
Đầu ra sẽ là con đường mà người say rượu cố gắng để trở về nhà. Các giá trị cho các vị trí có thể bằng 0 hoặc một chỉ mục.
Ví dụ:
Input
[1,0,1,1]
[0,0,0,0]
[1,0,0,0]
[1,1,1,1]
Possible Outputs
[0,2,0,3,2,0,0,3,1]
[0,3,0,3,1]
Input
[0,1,1,1,0,1]
[1,0,1,0,1,1]
[0,0,0,0,0,0]
[0,0,0,0,0,1]
[1,0,0,0,0,0]
[0,0,0,0,0,0]
Possible outputs
[0,1,5]
[0,5]
[0,1,4,0,2]
[0,3,5]
[0,3,0,1,4,0,5]
Deterministic path:
Input
[0,0,1,0]
[0,0,0,1]
[0,1,0,0]
[0,0,0,0]
Output
[0,2,1,3]
[ '1011', '0000', '1000', '1111' ]
không?
i
với tất cả các số không ngoại trừ tại cột i
?
0
các liên kết đến 1,2,3,5
, nhưng sản lượng cuối cùng đã cho nó đi từ 0
đến4