Wprowadzenie

Oryginalna strona z zadaniami z Advent of Code 2016. Zadanie z artykułu dostępne jest pod adresem http://adventofcode.com/2016/day/2

Advent of Code to inicjatywa, w której codziennie w trakcie adwentu publikowane są zadania dla programistów. Ich rozwiązywanie pomaga rozwijać umiejętności nie tyko początkującym programistom. W tej serii artykułów pokazuję zadania opublikowane w ramach Advent of Code 2016 wraz z przykładowym rozwiązaniem.

Pobierz opracowania zadań z rozmów kwalifikacyjnych

Przygotowałem rozwiązania kilku zadań algorytmicznych z rozmów kwalifikacyjnych. Rozkładam je na czynniki pierwsze i pokazuję różne sposoby ich rozwiązania. Dołącz do grupy ponad 6147 Samouków, którzy jako pierwsi dowiadują się o nowych treściach na blogu, a prześlę je na Twój e-mail.

Dzień 2 zadanie 1

Docierasz do Kwatery Głównej Króliczka Wielkanocnego pod osłoną nocy. Zrzut odbył się w takim pośpiechu, że zapomniałeś skorzystać z toalety! Odjechane budynki, takie jak Kwatera Główna Króliczka Wielkanocnego, wejścia do toalet przeważnie mają chronione kodem. Zaczynasz szukać recepcji z nadzieją, że tam znajdziesz kod.

Znalazłeś dokument, zaczynasz czytać “W celu poprawienia bezpieczeństwa kody do toalet nie będą już zapisywane na kartkach. Proszę je zapamiętać i podążać za instrukcjami poniżej aby dostać się do toalety.”.

Dokument wyjaśnia, że każdy znak kodu, który ma być naciśnięty może być odnaleziony zaczynając od poprzedniego znaku. Ruch polega na poruszaniu się po sąsiadujących przyciskach według instrukcji:

  • U do góry,
  • D w dół,
  • L w lewo,
  • R w prawo.

Każda linijka z instrukcjami odpowiada jednemu znakowi na klawiaturze. Każda kolejna instrukcja rozpoczyna od znaku, na którym skończyłeś poprzednio. Dla pierwszej linii zakładamy, że pozycją początkową jest “5”. Jeśli ruch “wychodzi” poza klawiaturę zignoruj go.

Powoli nie możesz już wytrzymać więc decydujesz się odgadnąć kod w drodze do toalety. Wyobrażasz sobie klawiaturę w postaci:

1 2 3
4 5 6
7 8 9

Zakładając, że instrukcje są następujące:

ULL
RRDDD
LURDL
UUUUD
  • Zaczynasz na 5, idziesz do góry (2), w lewo (1) i w lewo (nie możesz wykonać tego ruchu więc zostajesz na 1), pierwszą cyfrą kodu jest 1,
  • Zaczynając z poprzedniego przycisku (1), poruszasz się w prawo dwa razy (3) i trzy razy w dół (9) (zatrzymujesz się na 9 po dwóch ruchach, ignorując trzeci), drugą cyfrą kodu jest 9,
  • Idąc dalej z 9 idziesz w lewo (8), do góry (5), w prawo (6), w dół (9) i w lewo (8), trzecią cyfrą kodu jest 8,
  • W końcu, z 8 idziesz do góry cztery razy (zatrzymując się na 2) i raz w dół kończąc na 5.

W tym przypadku kod do toalety to 1985. Jaki jest kod do toalety jeśli instrukcje są jak w pliku day02_input.txt?

Podsumowanie

Zachęcam do dalszej zabawy z drugim zadaniem, jego treść pokaże się na stronie AoC2016 po rozwiązaniu pierwszego. Takie zadania pomagają w rozwijaniu umiejętności nie tylko początkujących programistów. Jeśli będziesz miał jakikolwiek problem z rozwiązaniem zadania możesz rzucić okiem do przykładowego rozwiązania, jednak zrób to raczej w ostateczności.

Na koniec mam do Ciebie prośbę – podziel się linkiem do artykułu ze znajomymi, może Oni także będą chcieli pomóc Świętemu Mikołajowi ;) ? Jeśli nie chcesz ominąć kolejnych artykułów proszę zapisz się do mojego newslettera i polub stronę na Facebooku. Do następnego razu!

Pobierz opracowania zadań z rozmów kwalifikacyjnych

Przygotowałem rozwiązania kilku zadań algorytmicznych z rozmów kwalifikacyjnych. Rozkładam je na czynniki pierwsze i pokazuję różne sposoby ich rozwiązania. Dołącz do grupy ponad 6147 Samouków, którzy jako pierwsi dowiadują się o nowych treściach na blogu, a prześlę je na Twój e-mail.

Kategorie:

Ostatnia aktualizacja:

Autor: Marcin Pietraszek


Nie popełnia błędów tylko ten, kto nic nie robi ;). Bardzo możliwe, że znajdziesz błąd, literówkę, coś co wymaga poprawy. Jeśli chcesz możesz samodzielnie poprawić tę stronę. Jeśli nie chcesz poprawiać błędu, który udało Ci się znaleźć będę wdzięczny jeśli go zgłosisz. Z góry dziękuję!

Zostaw komentarz