Wprowadzenie

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

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ń 19 zadanie 1

Wczoraj przeszedłeś przez pokój pełen pułapek. Dzisiaj przydałyby się pomoc przy znalezieniu elfa, który został se wszystkimi prezentami. Elfy kontaktują się z Tobą przez bardzo bezpieczny kanał bezpieczeństwa. Pogubiły się w zabawie z prezentami.

Każdy elf ma prezent. Wszystkie elfy siedzą w kółku na ponumerowanych krzesłach. Numery zaczynają się od 1. Pierwszy elf zabiera wszystkie prezenty od elfa, który siedzi po jego lewej stronie, elf bez prezentów odchodzi z kółka i nie bierze udziału w dalszej grze.

Na przykład, jeśli w kółku byłoby 5 elfów:

   1
5     2
 4   3
  • Elf 1 bierze prezent drugiego elfa,
  • elf 2 nie ma prezentów więc wypada z gry,
  • elf 3 bierze prezent czwartego elfa,
  • elf 4 nie ma prezentów więc wypada z gry,
  • elf 5 bierze prezenty elfa pierwszego,
  • ani elf 1 ani elf 2 nie mają już prezentów więc nie są brane pod uwagę,
  • elf 3 zabiera prezenty piątego elfa.

Więc, gdy w kółku siedzi pięć elfów, ten na pozycji 3 zostanie ze wszystkimi prezentami.

Zakładając, że kółku siedzi 3014603 elfów, który z nich zostanie ze wszystkimi prezentami?

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