Reguły gry w szachy nie są skomplikowane, jednak każda partia składa się z wielu decyzji taktycznych, co przekłada się na niepowtarzalność rozgrywki. Szachownica i figury szachowe nie muszą jednak służyć wyłącznie do przeprowadzenia klasycznej partii. Istnieje wiele związanych z nimi łamigłówek, których rozwiązanie wymaga ustawienia wybranych figur tak, aby spełnione były konkretne warunki.
Jedno z takich wyzwań znane jest jako problem ośmiu hetmanów. Ten e‑materiał poświęcimy napisaniu programu w języku C++ rozwiązującego tę ciekawą zagadkę. Wykorzystamy przy tym rekurencję z nawrotami.
Podstawowe informacje na temat tego zagadnienia zostały przedstawione w e‑materiale Problem ośmiu hetmanówProblem ośmiu hetmanów. Omówienie implementacji algorytmu w innych językach programowania znajdziesz w pozostałych e‑materiałach z tej serii:
Problem ośmiu hetmanów w języku JavaProblem ośmiu hetmanów w języku Java,
Problem ośmiu hetmanów w języku PythonProblem ośmiu hetmanów w języku Python.
Więcej zadań? Zajrzyj do: Problem ośmiu hetmanów – zadania maturalneProblem ośmiu hetmanów – zadania maturalne
Wyjaśnisz, na czym polega problem ośmiu hetmanów.
Przeanalizujesz algorytm rozwiązujący problem ośmiu hetmanów, wykorzystujący nawroty do poprzednich kroków.
Zaimplementujesz algorytm, odnajdujący rozwiązania problemu ośmiu hetmanów w języku C++ oraz jego uogólnienie dla innych rozmiarów szachownicy.