Черепаха хочет двигаться вдоль сетки, чтобы добраться до своей еды. Он хочет знать, сколько ходов ему понадобится, чтобы добраться туда.
Кроме того, поскольку он медлителен, у него установлены телепорты вокруг его домена, которые он будет использовать, если это сократит его путь. Или избегайте их, если это удлиняет его путь.
Встретить черепаху
🐢
Черепаха живет на сетке
Однако, черепаха не может двигаться к квадрату с горы
Черепаха хочет съесть свою клубнику и хотела бы знать, сколько времени понадобится, чтобы добраться до его земляники.
Соревнование
Учитывая исходную конфигурацию сетки, выведите количество ходов, за которое черепаха доберется до своей клубники.
правила
Вы можете предположить, что входная сетка имеет решение
Каждая сетка будет иметь только один,
strawberry
дваportals
и одинturtle
Сетка ввода может быть введена в любом удобном формате
Вы должны относиться к
teleporters
предметам одноразового использованияПоворот, что черепаха движется на
teleporter
квадрат, он уже на соответствующемteleporter
. Он никогда не двигается наteleporter
и остается там для движенияКратчайший путь не нужно использовать портал
Черепаха не может перейти в горные плитки
Вы можете использовать любой ASCII символ или целое число , чтобы представить
mountains
,turtle
,empty grid square
,strawberry
Вы можете использовать либо один и тот же символ, либо два разных символа ASCII или целые числа для представления
teleporter
парСетка может иметь более одного пути с одинаковой длиной кратчайшего пути.
Это код-гольф
Разъяснения к правилам
- Вы должны относиться к
teleporters
предметам одноразового использования.
Обоснование : было указано, что случай:
Может быть решен только путем входа и выхода из порталов дважды. Во время этого разъяснения оба решения действовали, предполагая, что они были либо одноразовыми, либо не было никакой причины пытаться использовать ранее использованные квадраты. Чтобы избежать взлома их трудолюбивых решений, это казалось лучшим способом объяснить это. Следовательно, это будет считаться недействительной сеткой.
Тестовые случаи, отформатированные как списки
[ ['T', 'X', 'X', 'S', 'X'], ['X', 'X', 'X', 'X', 'X'], ['X', 'X', 'X', 'X', 'X'] ] --> 3
[ ['T', 'M', 'X', 'S', 'X'], ['X', 'M', 'X', 'X', 'X'], ['O', 'X', 'X', 'X', 'O'] ] --> 4
[ ['T', 'M', 'X', 'S', 'O'], ['O', 'M', 'X', 'X', 'X'], ['X', 'X', 'X', 'X', 'X'] ] --> 2
[ ['T', 'M', 'X', 'S', 'X'], ['O', 'M', 'X', 'X', 'X'], ['O', 'X', 'X', 'X', 'X'] ] --> 4
[ ['T', 'M', 'S', 'X', 'O'], ['X', 'M', 'M', 'M', 'M'], ['X', 'X', 'X', 'X', 'O'] ] --> 7
[ ['T', 'X', 'X', 'S', 'X'], ['O', 'M', 'M', 'M', 'X'], ['X', 'X', 'O', 'X', 'X'] ] --> 3
Тестовые случаи, отформатированные для людей
T X X S X
X X X X X
X X X X X --> 3
T M X S X
X M X X X
O X X X O --> 4
T M X S O
O M X X X
X X X X X --> 2
T M X S X
O M X X X
O X X X X --> 4
T M S X O
X M M M M
X X X X O --> 7
T X X S X
O M M M X
X X O X X --> 3
кредиты
Дизайн и структура: Голодная мышка от Arnauld
Предлагаемые вызовы Править совет: Камил-дракари , beefster