Przejdź do treści

Rekurencja

Materiały

Dla nauczyciela

Materiał dla nauczyciela

Dla ucznia

Rekurencja (MAIN2)

Backtracking (MAIN2)

Zadania

Zadanie 1. Roztargniony profesor

Pewien profesor, aby dostać się do swego gabinetu, musi pokonać \(N\) schodów. Profesor pokonuje zazwyczaj jeden lub dwa schody na raz. Oblicz, na ile różnych sposobów profesor może pokonać schody. Podaj te sposoby.

Wejście

Jedna liczba całkowita \(N\) (\(1 \leq N \leq 25\)) - liczba schodów.

Wyjście

Wyjście zawiera w pierwszym wierszu liczbę możliwych kombinacji, w kolejnych wierszach wszystkie możliwe kombinacje w porządku leksykograficznym.

Przykład

Wejście Wyjście
3 3
1 1 1
1 2
2 1
Wskazówka

Zasymuluj rekurencyjnie wszystkie możliwe sposoby.

Sprawdź kod na Szkopule

Zadanie 2. Mysz w labiryncie

Do labiryntu trafiła mysz. Pomóż jej odnaleźć wyjście!

Wejście

W pierwszej linii wejścia znajdują się dwie liczby całkowite \(n\) i \(m\) (\(2 \leq n, m \leq 1000\)) oznaczające rozmiar labiryntu: \(n\) kolumn i \(m\) wierszy. W kolejnych liniach znajdują się znaki oznaczające kolejno:

  • "-" możliwość przejścia (korytarz);
  • "x" brak przejścia (ściana);
  • "o" początkowe położenie myszy;
  • "w" wyjście (końcowe położenie myszy).

Wyjście

Pierwszy i jedyny wiersz wyjścia powinien wypisać „TAK” – jeśli istnieje wyjście z labiryntu, lub „NIE” – jeżeli warunek nie będzie spełniony.

Przykład

Wejście Wyjście
8 8
w--x-x--
xx-x-x--
---x----
--xxxx--
--x--x--
-----x-o
xxxx----
------x-
TAK
Wskazówka

Rekurencyjnie przesuwaj mysz w lewo, prawo, do góry i do dołu. Sprawdź po obejściu całej planszy, czy odwiedzone jest wyjście.

Sprawdź kod na Szkopule

Zadanie 3. Problem 8 hetmanów

Janek uczy się grać w szachy. Poznaje sposób poruszania się różnych figur. Najśmieszniejszy wydaje mu się styl skoków konika. Zastanawia się również, co byłoby, gdyby na szachownicy znalazło się kilka figur hetmanów. Analizuje, czy na planszy o wymiarach \(n \times n\) możliwe jest takie rozstawienie \(n\) tych figur, aby żaden z nich się nie szachował, a jeśli tak, to na ile sposobów można to zrobić?

Wejście

\(n\) - rozmiar szachownicy, liczba naturalna mniejsza niż \(15\).

Wyjście

Liczba sposobów, na jakie można rozmieścić figury hetmanów na szachownicy tak, by się wzajemnie nie szachowały.

Przykład

Wejście Wyjście
8 92
Wskazówka

Zasymuluj ustawianie hetmanów korzystając z przeszukiwania z nawrotami.

Sprawdź kod na Szkopule