Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. private void wstawHetmana(int rozmiar) {
  2.  
  3. if (rozmiar < 8) {
  4. System.out.println("nie ma rozwiazania");
  5. } else {
  6. int[][] tab = new int[rozmiar][rozmiar];
  7. wstawwszstkie(tab, 0);
  8. wypisz(tab);
  9. }
  10. }
  11.  
  12. private boolean wstawwszstkie(int tab[][], int rzad) {
  13. if (rzad >= tab.length) {
  14. return true;
  15. }
  16.  
  17. boolean czywszystkie = false;
  18. for (int j = 0; j < tab.length; j++) {
  19.  
  20. if (czymabicie(tab, rzad, j)) {
  21. tab[rzad][j] = 1;
  22. czywszystkie = wstawwszstkie(tab, rzad + 1);
  23. }
  24. if (czywszystkie) {
  25. break;
  26. } else {
  27. tab[rzad][j] = 0;
  28. }
  29. }
  30. return czywszystkie;
  31. }
  32.  
  33. private boolean czymabicie(int tab[][], int rzad, int kol) {
  34.  
  35. for (int i = rzad - 1, j = kol - 1; i >= 0 && j >= 0; i--, j--) {
  36. if (tab[i][j] == 1) {
  37. return false;
  38. }
  39. }
  40.  
  41. for (int i = rzad - 1, j = kol + 1; i >= 0 && j < tab.length; i--, j++) {
  42. if (tab[i][j] == 1) {
  43. return false;
  44. }
  45. }
  46.  
  47. for (int i = rzad - 1; i >= 0; i--) {
  48. if (tab[i][kol] == 1) {
  49. return false;
  50. }
  51. }
  52.  
  53. return true;
  54. }
  55.  
  56. private void wypisz(int[][] tab) {
  57. for (int i = 0; i < tab.length; i++) {
  58. for (int j = 0; j < tab.length; j++) {
  59. System.out.print(tab[i][j] == 1 ? "H" : " _ ");
  60. }
  61. System.out.println();
  62. }
  63. System.out.println("");
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement