Chỉnh sửa quan trọng: Trước đó, có một giá trị không chính xác trong Ví dụ 1. Nó đã được sửa.
Bạn được cung cấp một mảng hai chiều trong đó mỗi ô chứa một trong bốn giá trị.
Ví dụ:
1 2 2 2 2 1 @ . . X X V
1 3 1 4 1 4 e . @ I C V
2 3 1 3 4 2 H H @ X I V
1 4 4 2 1 3 V C C
2 2 2 3 2 3 X X X
Bốn giá trị đại diện cho mũi tên chỉ hướng (lên, xuống, trái và phải), mặc dù bạn không biết giá trị nào đại diện cho hướng nào.
Mũi tên định hướng tạo thành một đường dẫn không bị gián đoạn bao gồm mọi ô trong mảng, mặc dù bạn không biết điểm bắt đầu hoặc điểm kết thúc ở đâu.
Viết một số mã xác định hướng nào trong bốn giá trị đại diện và vị trí điểm bắt đầu và điểm kết thúc.
Giá trị trả về chấp nhận được cho một mảng chứa các giá trị A, B, C và D sẽ giống như:
{ up: A, down: C, left: D, right: B, start: [2, 0], end: [4, 2] }
Bởi vì bạn có thể đi qua con đường theo cả hai cách (từ đầu đến cuối và từ đầu đến cuối), sẽ luôn có nhiều hơn một giải pháp đúng và có thể có nhiều hơn hai. Giả sử rằng các đầu vào bạn nhận được (như trong các ví dụ trên) luôn có ít nhất một giải pháp đúng. Trong trường hợp có nhiều hơn một giải pháp đúng, trả về chỉ một trong những giải pháp đúng là đủ.
Mã ngắn nhất sẽ thắng. Tôi sẽ chọn người chiến thắng sau 7 ngày hoặc 24 giờ mà không cần gửi mới, tùy theo điều kiện nào đến trước.
Tôi đang bao gồm các giải pháp cho các ví dụ trên, nhưng tôi khuyến khích bạn chỉ kiểm tra chúng khi bạn đã viết mã:
Một:
{lên: 3, xuống: 1, trái: 4, phải: 2, bắt đầu: [0,0], kết thúc: [2,5]}
Hai:
{lên: '@', xuống: 'e', trái: '.', phải: 'H', bắt đầu: [1,1], kết thúc: [0,0]}
Số ba:
{lên: 'I', xuống: 'V', trái: 'C', phải: 'X', bắt đầu: [0,2], kết thúc: [4.2]}
