Wróć do informacji o e-podręczniku Wydrukuj Pobierz materiał do PDF Pobierz materiał do EPUB Pobierz materiał do MOBI Zaloguj się, aby dodać do ulubionych Zaloguj się, aby skopiować i edytować materiał Zaloguj się, aby udostępnić materiał Zaloguj się, aby dodać całą stronę do teczki
Problem 1

Napisz program, który rozmieści n hetmanów na szachownicy o rozmiarze n wierszy i n kolumn tak, aby nie atakowały się wzajemnie.

Zasady atakowania się hetmanów wyglądają następująco:

  • Hetman może poruszać się dowolną liczbę pól do przodu, do tyłu, w prawo, w lewo i po skosach.

  • Hetman zbija inne figury znajdujące się na jego drodze.

Działanie swojego programu przetestuj dla n = 8.

Specyfikacja:

Dane:

  • n – liczba hetmanów oraz liczba wierszy i kolumn szachownicy; liczba naturalna dodatnia; n > 3

Wynik:

Program wypisuje na standardowe wyjście kolejne, dozwolone układy ustawień hetmanów.

Przykładowy wynik:

Linia 1. otwórz nawias kwadratowy 0 przecinek 1 przecinek 5 przecinek 8 przecinek 6 przecinek 3 przecinek 7 przecinek 2 przecinek 4 zamknij nawias kwadratowy. Linia 2. otwórz nawias kwadratowy 0 przecinek 1 przecinek 6 przecinek 8 przecinek 3 przecinek 7 przecinek 4 przecinek 2 przecinek 5 zamknij nawias kwadratowy. Linia 3. otwórz nawias kwadratowy 0 przecinek 1 przecinek 7 przecinek 4 przecinek 6 przecinek 8 przecinek 2 przecinek 5 przecinek 3 zamknij nawias kwadratowy. Linia 4. otwórz nawias kwadratowy 0 przecinek 1 przecinek 7 przecinek 5 przecinek 8 przecinek 2 przecinek 4 przecinek 6 przecinek 3 zamknij nawias kwadratowy. Linia 5. otwórz nawias kwadratowy 0 przecinek 2 przecinek 4 przecinek 6 przecinek 8 przecinek 3 przecinek 1 przecinek 7 przecinek 5 zamknij nawias kwadratowy. Linia 6. otwórz nawias kwadratowy 0 przecinek 2 przecinek 5 przecinek 7 przecinek 1 przecinek 3 przecinek 8 przecinek 6 przecinek 4 zamknij nawias kwadratowy. Linia 7. otwórz nawias kwadratowy 0 przecinek 2 przecinek 5 przecinek 7 przecinek 4 przecinek 1 przecinek 8 przecinek 6 przecinek 3 zamknij nawias kwadratowy. Linia 8. otwórz nawias kwadratowy 0 przecinek 2 przecinek 6 przecinek 1 przecinek 7 przecinek 4 przecinek 8 przecinek 3 przecinek 5 zamknij nawias kwadratowy. Linia 9. otwórz nawias kwadratowy 0 przecinek 2 przecinek 6 przecinek 8 przecinek 3 przecinek 1 przecinek 4 przecinek 7 przecinek 5 zamknij nawias kwadratowy. Linia 10. otwórz nawias kwadratowy 0 przecinek 2 przecinek 7 przecinek 3 przecinek 6 przecinek 8 przecinek 5 przecinek 1 przecinek 4 zamknij nawias kwadratowy. Linia 11. otwórz nawias kwadratowy 0 przecinek 2 przecinek 7 przecinek 5 przecinek 8 przecinek 1 przecinek 4 przecinek 6 przecinek 3 zamknij nawias kwadratowy. Linia 12. otwórz nawias kwadratowy 0 przecinek 2 przecinek 8 przecinek 6 przecinek 1 przecinek 3 przecinek 5 przecinek 7 przecinek 4 zamknij nawias kwadratowy. Linia 13. otwórz nawias kwadratowy 0 przecinek 3 przecinek 1 przecinek 7 przecinek 5 przecinek 8 przecinek 2 przecinek 4 przecinek 6 zamknij nawias kwadratowy. Linia 14. otwórz nawias kwadratowy 0 przecinek 3 przecinek 5 przecinek 2 przecinek 8 przecinek 1 przecinek 7 przecinek 4 przecinek 6 zamknij nawias kwadratowy. Linia 15. otwórz nawias kwadratowy 0 przecinek 3 przecinek 5 przecinek 2 przecinek 8 przecinek 6 przecinek 4 przecinek 7 przecinek 1 zamknij nawias kwadratowy. Linia 16. otwórz nawias kwadratowy 0 przecinek 3 przecinek 5 przecinek 7 przecinek 1 przecinek 4 przecinek 2 przecinek 8 przecinek 6 zamknij nawias kwadratowy. Linia 17. otwórz nawias kwadratowy 0 przecinek 3 przecinek 5 przecinek 8 przecinek 4 przecinek 1 przecinek 7 przecinek 2 przecinek 6 zamknij nawias kwadratowy. Linia 18. otwórz nawias kwadratowy 0 przecinek 3 przecinek 6 przecinek 2 przecinek 5 przecinek 8 przecinek 1 przecinek 7 przecinek 4 zamknij nawias kwadratowy. Linia 19. otwórz nawias kwadratowy 0 przecinek 3 przecinek 6 przecinek 2 przecinek 7 przecinek 1 przecinek 4 przecinek 8 przecinek 5 zamknij nawias kwadratowy. Linia 20. otwórz nawias kwadratowy 0 przecinek 3 przecinek 6 przecinek 2 przecinek 7 przecinek 5 przecinek 1 przecinek 8 przecinek 4 zamknij nawias kwadratowy. Linia 21. otwórz nawias kwadratowy 0 przecinek 3 przecinek 6 przecinek 4 przecinek 1 przecinek 8 przecinek 5 przecinek 7 przecinek 2 zamknij nawias kwadratowy. Linia 22. otwórz nawias kwadratowy 0 przecinek 3 przecinek 6 przecinek 4 przecinek 2 przecinek 8 przecinek 5 przecinek 7 przecinek 1 zamknij nawias kwadratowy. Linia 23. otwórz nawias kwadratowy 0 przecinek 3 przecinek 6 przecinek 8 przecinek 1 przecinek 4 przecinek 7 przecinek 5 przecinek 2 zamknij nawias kwadratowy. Linia 24. otwórz nawias kwadratowy 0 przecinek 3 przecinek 6 przecinek 8 przecinek 1 przecinek 5 przecinek 7 przecinek 2 przecinek 4 zamknij nawias kwadratowy. Linia 25. otwórz nawias kwadratowy 0 przecinek 3 przecinek 6 przecinek 8 przecinek 2 przecinek 4 przecinek 1 przecinek 7 przecinek 5 zamknij nawias kwadratowy. Linia 26. otwórz nawias kwadratowy 0 przecinek 3 przecinek 7 przecinek 2 przecinek 8 przecinek 5 przecinek 1 przecinek 4 przecinek 6 zamknij nawias kwadratowy. Linia 27. otwórz nawias kwadratowy 0 przecinek 3 przecinek 7 przecinek 2 przecinek 8 przecinek 6 przecinek 4 przecinek 1 przecinek 5 zamknij nawias kwadratowy. Linia 28. otwórz nawias kwadratowy 0 przecinek 3 przecinek 8 przecinek 4 przecinek 7 przecinek 1 przecinek 6 przecinek 2 przecinek 5 zamknij nawias kwadratowy. Linia 29. otwórz nawias kwadratowy 0 przecinek 4 przecinek 1 przecinek 5 przecinek 8 przecinek 2 przecinek 7 przecinek 3 przecinek 6 zamknij nawias kwadratowy. Linia 30. otwórz nawias kwadratowy 0 przecinek 4 przecinek 1 przecinek 5 przecinek 8 przecinek 6 przecinek 3 przecinek 7 przecinek 2 zamknij nawias kwadratowy. Linia 31. otwórz nawias kwadratowy 0 przecinek 4 przecinek 2 przecinek 5 przecinek 8 przecinek 6 przecinek 1 przecinek 3 przecinek 7 zamknij nawias kwadratowy. Linia 32. otwórz nawias kwadratowy 0 przecinek 4 przecinek 2 przecinek 7 przecinek 3 przecinek 6 przecinek 8 przecinek 1 przecinek 5 zamknij nawias kwadratowy. Linia 33. otwórz nawias kwadratowy 0 przecinek 4 przecinek 2 przecinek 7 przecinek 3 przecinek 6 przecinek 8 przecinek 5 przecinek 1 zamknij nawias kwadratowy. Linia 34. otwórz nawias kwadratowy 0 przecinek 4 przecinek 2 przecinek 7 przecinek 5 przecinek 1 przecinek 8 przecinek 6 przecinek 3 zamknij nawias kwadratowy. Linia 35. otwórz nawias kwadratowy 0 przecinek 4 przecinek 2 przecinek 8 przecinek 5 przecinek 7 przecinek 1 przecinek 3 przecinek 6 zamknij nawias kwadratowy. Linia 36. otwórz nawias kwadratowy 0 przecinek 4 przecinek 2 przecinek 8 przecinek 6 przecinek 1 przecinek 3 przecinek 5 przecinek 7 zamknij nawias kwadratowy. Linia 37. otwórz nawias kwadratowy 0 przecinek 4 przecinek 6 przecinek 1 przecinek 5 przecinek 2 przecinek 8 przecinek 3 przecinek 7 zamknij nawias kwadratowy. Linia 38. otwórz nawias kwadratowy 0 przecinek 4 przecinek 6 przecinek 8 przecinek 2 przecinek 7 przecinek 1 przecinek 3 przecinek 5 zamknij nawias kwadratowy. Linia 39. otwórz nawias kwadratowy 0 przecinek 4 przecinek 6 przecinek 8 przecinek 3 przecinek 1 przecinek 7 przecinek 5 przecinek 2 zamknij nawias kwadratowy.
R1Z0FpIMGCSSX
Wymyśl pytanie na kartkówkę związane z tematem materiału.
Polecenie 1

Porównaj swoje rozwiązanie z przedstawionym w filmie.

Rs9xD7sFmh6jK
Lekcja poświęcona problemowi ośmiu hetmanów w języku Python.

Kod programu zaprezentowanego w filmie:

RFzXPlrTaqElF

Przycisk do pobrania pliku z kodem z filmu.

Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Plik PY o rozmiarze 1.28 KB w języku polskim
Polecenie 2

Dodaj do swojego programu komentarze tak, żeby był zrozumiały dla osoby, która nie potrafi programować.