Важлива редакція: Раніше в Прикладі 1. було неправильне значення. Це було виправлено.
Вам надається двовимірний масив, в якому кожна комірка містить одне з чотирьох значень.
Приклади:
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
Чотири значення представляють стрілки спрямованого (вгору, вниз, вліво та вправо), хоча ви не знаєте, яке значення представляє, у якому напрямку.
Стрілки спрямованості утворюють неперервний шлях, який включає кожну клітинку в масиві, хоча ви не знаєте, де починаються чи кінцеві точки.
Напишіть код, який визначає, у якому напрямку позначається кожне з чотирьох значень, а також де починаються та кінцеві точки.
Прийнятне значення повернення для масиву, який містить значення A, B, C і D, було б приблизно таким:
{ up: A, down: C, left: D, right: B, start: [2, 0], end: [4, 2] }
Оскільки ви можете пройти шлях обома способами (від початку до кінця і від кінця до початку), завжди буде більше одного правильного рішення, а їх може бути більше двох. Припустимо, що отримані вами матеріали (як у наведених вище прикладах) завжди мають принаймні одне правильне рішення. У випадках, коли існує більше одного правильного рішення, достатньо повернути лише один з правильних рішень.
Найкоротший код виграє. Я виберу переможця через 7 днів або 24 години без нового подання, залежно від того, що відбудеться раніше.
Я включаю рішення до наведених вище прикладів, але рекомендую перевірити їх лише після того, як ви написали свій код:
Перший:
{вгору: 3, вниз: 1, вліво: 4, праворуч: 2, початок: [0,0], кінець: [2,5]}
Дві:
{вгору: '@', вниз: 'e', вліво: '.', праворуч: 'H', початок: [1,1], кінець: [0,0]}
Три:
{вгору: 'Я', вниз: 'V', ліворуч: 'C', праворуч: 'X', початок: [0,2], кінець: [4,2]}
