Żółw chce poruszać się wzdłuż siatki, aby dostać się do jedzenia. Chce wiedzieć, ile ruchów zajmie mu dotarcie.
Ponieważ jest wolny, teleportery ustawiają się wokół jego domeny, z której będzie korzystać, jeśli skróci to jego ścieżkę. Lub unikaj ich, jeśli wydłuży to jego drogę.
Poznaj żółwia
🐢
Żółw żyje na siatce
Żółw nie może jednak przejść na plac z górą
Żółw chce zjeść swoją truskawkę i chce wiedzieć, ile czasu zajmie dojście do jego truskawek
Wyzwanie
Biorąc pod uwagę początkową konfigurację wyjściową siatki, liczbę ruchów zajmie żółwia, aby osiągnąć swoją truskawkę.
Zasady
Możesz założyć, że siatka wejściowa ma rozwiązanie
Każda siatka będzie miała tylko jeden,
strawberrydwaportalsi jedenturtleSiatkę wejściową można wprowadzić w dowolnym dogodnym formacie
Powinieneś traktować
teleportersprzedmioty jednorazowego użytkuTurn, w którym żółw porusza się na pole
teleporter, jest już na odpowiednimteleporter. Nigdy nie przechodzi nateleporteri pozostaje tam, aby wykonać ruchNajkrótsza ścieżka nie musi korzystać z portalu
Żółw nie może przejść do górskich kafelków
Można użyć dowolnego znaku ASCII lub całkowitą do reprezentacji
mountains,turtle,empty grid square,strawberryMożesz użyć tego samego znaku lub dwóch różnych znaków ASCII lub liczb całkowitych do przedstawienia
teleporterparSiatka może mieć więcej niż jedną ścieżkę o tej samej najkrótszej długości
To jest golf golfowy
Wyjaśnienia zasad
- Powinieneś traktować
teleportersprzedmioty jednorazowego użytku.
Można to rozwiązać tylko dwukrotnie wchodząc i wychodząc z portali. W momencie dokonywania tego wyjaśnienia oba rozwiązania działały, zakładając, że były albo jednorazowego użytku, albo nie było powodu, aby wypróbować wcześniej używane kwadraty. Aby uniknąć zerwania z ciężko wypracowanymi rozwiązaniami, wydawało się to najlepszym sposobem na uwzględnienie tego ustawienia. Dlatego byłoby to uważane za nieprawidłową siatkę.
Przypadki testowe sformatowane jako listy
[ ['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
Przypadki testowe sformatowane dla ludzi
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
Kredyty
Projekt i struktura: Głodna mysz Arnauld
Proponowane wyzwania Edytuj porady: Kamil-drakari , beefster