Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void wstawHetmana(int rozmiar) {
- if (rozmiar < 8) {
- System.out.println("nie ma rozwiazania");
- } else {
- int[][] tab = new int[rozmiar][rozmiar];
- wstawwszstkie(tab, 0);
- wypisz(tab);
- }
- }
- private boolean wstawwszstkie(int tab[][], int rzad) {
- if (rzad >= tab.length) {
- return true;
- }
- boolean czywszystkie = false;
- for (int j = 0; j < tab.length; j++) {
- if (czymabicie(tab, rzad, j)) {
- tab[rzad][j] = 1;
- czywszystkie = wstawwszstkie(tab, rzad + 1);
- }
- if (czywszystkie) {
- break;
- } else {
- tab[rzad][j] = 0;
- }
- }
- return czywszystkie;
- }
- private boolean czymabicie(int tab[][], int rzad, int kol) {
- for (int i = rzad - 1, j = kol - 1; i >= 0 && j >= 0; i--, j--) {
- if (tab[i][j] == 1) {
- return false;
- }
- }
- for (int i = rzad - 1, j = kol + 1; i >= 0 && j < tab.length; i--, j++) {
- if (tab[i][j] == 1) {
- return false;
- }
- }
- for (int i = rzad - 1; i >= 0; i--) {
- if (tab[i][kol] == 1) {
- return false;
- }
- }
- return true;
- }
- private void wypisz(int[][] tab) {
- for (int i = 0; i < tab.length; i++) {
- for (int j = 0; j < tab.length; j++) {
- System.out.print(tab[i][j] == 1 ? "H" : " _ ");
- }
- System.out.println();
- }
- System.out.println("");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement