@@ -0,0 +1,1893 @@
+package nl.ap.hillclimbing;%0A%0Apublic class Queens %7B%0A%0A    public static boolean isConsistent(int%5B%5D q, int n) %7B%0A        for (int i = 0; i %3C n; i++) %7B%0A            if (q%5Bi%5D == q%5Bn%5D) %7B%0A                return false; // same column%0A            %7D%0A%0A            if ((q%5Bi%5D - q%5Bn%5D) == (n - i)) %7B%0A                return false; // same major diagonal%0A            %7D%0A%0A            if ((q%5Bn%5D - q%5Bi%5D) == (n - i)) %7B%0A                return false; // same minor diagonal%0A            %7D%0A        %7D%0A%0A        return true;%0A    %7D%0A%0A    public static void printQueens(int%5B%5D q) %7B%0A        int N = q.length;%0A%0A        for (int i = 0; i %3C N; i++) %7B%0A            for (int j = 0; j %3C N; j++) %7B%0A                if (q%5Bi%5D == j) %7B%0A                    System.out.print(%22Q  %22);%0A                %7D else %7B%0A                    System.out.print(%22*  %22);%0A                %7D%0A            %7D%0A%0A            System.out.println();%0A        %7D%0A%0A        System.out.println();%0A    %7D%0A%0A    public static void enumerate(int N) %7B%0A        int%5B%5D a = new int%5BN%5D;%0A%0A        enumerate(a, 0);%0A    %7D%0A%0A    public static boolean enumerate(int%5B%5D q, int n) %7B%0A        int N = q.length;%0A%0A        if (n == N) %7B%0A            printQueens(q);%0A%0A            return true;%0A        %7D else %7B%0A            for (int i = 0; i %3C N; i++) %7B%0A                q%5Bn%5D = i;%0A%0A                if (isConsistent(q, n)) %7B%0A                    if (enumerate(q, n + 1)) %7B%0A                        return true;%0A                    %7D%0A                %7D%0A            %7D%0A        %7D%0A%0A        return false;%0A    %7D%0A%0A%0A    public static void main(String%5B%5D args) %7B%0A        enumerate(new int%5B%5D %7B0, 0, 0, 0, 0, 0, 0, 0%7D, 0);%0A%0A        enumerate(new int%5B%5D %7B5, 0, 0, 0, 0, 0, 0, 0%7D, 1);%0A%0A        enumerate(new int%5B%5D %7B5, 3, 0, 0, 0, 0, 0, 0%7D, 2);%0A%0A        enumerate(new int%5B%5D %7B5, 3, 0, 0, 0, 0, 0, 0, 5, 3, 0, 0, 0, 0, 0, 0%7D, 0);%0A%0A        enumerate(new int%5B%5D %7B0, 0, 0, 0, 0, 0%7D, 0);%0A%0A        enumerate(new int%5B%5D %7B0, 0%7D, 0);%0A    %7D%0A%0A%7D%0A

Add code for queens puzzle