Świat to tablica komórek pięć na pięć. Zawija się ze wszystkich stron. Można to wizualizować jak ...
XXXXX XXXXX XXOXX XXXXX XXXXX
Jesteś O. Uwielbiasz podróżować po świecie i robisz to zgodnie z następującymi zasadami (niech C będzie dniem bieżącym):
- W pierwszorzędne dni czujesz nostalgię. Wróć do miejsca, w którym zacząłeś wczoraj.
- W dziwne dni tęsknisz za domem. Przesuń jeden poziomy poziom bliżej domu, jeśli to możliwe i jeden pionowy krok bliżej domu, jeśli to możliwe. Zignoruj zawijanie świata w celu określenia bliskości.
- W parzyste dni masz ochotę na przygodę. Przesuń C / 2 kroki na południe.
- W kwadratowe dni masz ochotę na przygodę. Przejdź do wschodniej ściany.
- W dni Fibonacciego świat rozszerza się na południe o jeden rząd.
- W dni trójkątne świat rozszerza się na wschód o jedną kolumnę.
Jeśli dwie lub więcej z powyższych zasad miałoby zastosowanie jednocześnie, zastosuj je w podanej kolejności. Na przykład, w dziwny pierwszy dzień, najpierw wróć do miejsca, w którym zacząłeś wczoraj, a następnie przejdź o krok bliżej domu.
Żyjesz w centrum (początkowego) świata, tj. W pozycji (2,2), zerowo indeksowanej od północno-zachodniego rogu. Podróż rozpoczyna się tam pierwszego dnia.
Wkład
Pojedyncza liczba całkowita, N.
Wydajność
Twoja współrzędna X i Y N-tego dnia, indeksowana zerowo od rogu północno-zachodniego, oddzielona pojedynczym odstępem.
Przypadek testowy z objaśnieniem
Biorąc pod uwagę 3
, poprawny wynik to:
2 3
Możemy pracować nad tym jeden dzień na raz. Począwszy od pierwszego dnia musimy zastosować następujące ruchy:
- Dziwne, kwadratowe, Fibonacciego i trójkątne
- Prime, a nawet Fibonacci
- Prime, nieparzyste, Fibonacciego i trójkątne
W formie wizualnej:
Dzień 1 Dzień 2 Dzień 3 XXXXX XXXXXX XXXXXX XXXXXXX XXXXX XXXXXX XXXXXX XXXXXXX XXOXX -> XXXXOX -> XXXXXX -> XXXOXXX XXXXX XXXXXX XXOXXX XXXXXXX XXXXX XXXXXX XXXXXX XXXXXXX XXXXXX XXXXXX XXXXXXX XXXXXX XXXXXXX XXXXXXX
Dodatkowe przypadki testowe
Dzięki uprzejmości Martin Büttner „s roztworu odniesienia (Należy pamiętać, że należy tylko jedno wyjście koordynować, nie wszystkie z nich):
Input: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Output: 4 2 2 3 3 2 6 4 2 2 2 5 2 2 2 6 7 5 7 0 6 4 6 0 5 3 5 10 4 9 9 6 3 8 3 6 2 7 2 6 2 5 2 4 2 4
To jest kod golfowy. Najkrótsze zgłoszenie wygrywa.