public class Zadanie { static int[] ustawieneHetmanow = new int[9]; static boolean czyPoleAtakowane(int wiersz, int kolumna){ if(ustawieneHetmanow[wiersz] > 0) return true; for(int i = 1; i <= 8; i++){ if(ustawieneHetmanow[i] == kolumna) return true; } int badanyWiersz = wiersz; int badanaKolumna = kolumna; while(true){ if(badanyWiersz == 0 || badanaKolumna == 0) break; if(ustawieneHetmanow[badanyWiersz] == badanaKolumna) return true; badanyWiersz--; badanaKolumna--; } badanyWiersz = wiersz; badanaKolumna = kolumna; while(true){ if(badanyWiersz == 0 || badanaKolumna == 9) break; if(ustawieneHetmanow[badanyWiersz] == badanaKolumna) return true; badanyWiersz--; badanaKolumna++; } return false; } static void ustawHetmana(int numerWiersza){ if(numerWiersza > 8){ for(int i = 1; i < ustawieneHetmanow.length; i++){ System.out.print(ustawieneHetmanow[i] + " "); } System.out.println(); } else{ for(int kolumna = 1; kolumna <= 8; kolumna++){ if(!czyPoleAtakowane(numerWiersza, kolumna)){ ustawieneHetmanow[numerWiersza] = kolumna; ustawHetmana(numerWiersza+1); ustawieneHetmanow[numerWiersza] = 0; } } } } public static void main(String[] args) { ustawHetmana(1); } }