Sprawdź się
Zadanie 1.4.
Napisz program, który przedstawi rozwiązanie problemu ośmiu hetmanów przy założeniu, że hetman w pierwszej kolumnie znajdzie się w trzecim wierszu. Wykorzystaj w tym celu algorytm z nawrotami, który każdorazowo będzie iterował od pierwszego do ósmego wiersza.
Oczywiście istnieje wiele rozwiązań tak skonstruowanej zagadki, lecz wynikiem będzie to, które wystąpi jako pierwsze. Zastosuj algorytm przedstawiony w postaci liczby kroków w zadaniu 1.2. Został on również przytoczony poniżej:
Lista kroków:
Wybieramy wiersz początkowy, który znajdzie się na pierwszej pozycji ciągu. Możemy wybrać liczby z przedziału <1, 8>.
Jeżeli wszystkie hetmany zostały ustawione, wypisujemy rozwiązanie.
Szukamy wolnego wiersza dla następnej kolumny, która nie jest jeszcze obsadzona. Dobieramy kolejne liczby, zaczynając od wiersza pierwszego, a kończąc na wierszu ósmym.
Jeżeli znaleźliśmy takie pole, sprawdzamy, czy nie dochodzi na nim do bicia z figurami stojącymi już na planszy.
Jeżeli nie znaleźliśmy takiego pola, które jest poza zasięgiem ruchu ustawionych już figur, zdejmujemy hetmana z poprzedniej kolumny i wracamy do kroku trzeciego.
Jeżeli znaleźliśmy pole nieatakowane przez inną figurę, ustawiamy na nim hetmana, a następnie wracamy do kroku drugiego.
Specyfikacja:
Dane:
x
– pozycja pierwszego hetmana, liczba całkowita
Wynik:
Program na standardowe wyjście wypisuje 8 liczb naturalnych z zakresu będącymi numerami wierszy w których należy umieścić hetmany w kolejnych kolumnach.
Język C++
Twoje zadanie: Program wypisuje pierwsze znalezione rozwiązanie problemu ośmiu hetmanów dla przypadku, w którym pierwszy hetman został umieszczony w trzecim wierszu pierwszej kolumny.
Język Java
Twoje zadanie: Program wypisuje pierwsze znalezione rozwiązanie problemu ośmiu hetmanów dla przypadku, w którym pierwszy hetman został umieszczony w trzecim wierszu pierwszej kolumny.
Język Python
Twoje zadanie: Program wypisuje pierwsze znalezione rozwiązanie problemu ośmiu hetmanów dla przypadku, w którym pierwszy hetman został umieszczony w trzecim wierszu pierwszej kolumny.