Skip to content

marcelmaatkamp/picocli-example-choco-solver-queens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

483abba · May 16, 2023

History

39 Commits
May 13, 2023
May 16, 2023
May 12, 2023
May 12, 2023
May 13, 2023
May 12, 2023
May 8, 2023
May 16, 2023
May 12, 2023
May 13, 2023
May 13, 2023
May 16, 2023
May 12, 2023
May 8, 2023
May 8, 2023
May 9, 2023

Repository files navigation

picocli example: solve queens puzzle with choco-solver

Docker Image CI

img.png

From Wikipedia:

The eight queens puzzle is the problem of placing eight chess queens on an 8×8 chessboard so that no two queens threaten each other; thus, a solution requires that no two queens share the same row, column, or diagonal. There are 92 solutions. The problem was first posed in the mid-19th century. In the modern era, it is often used as an example problem for various computer programming techniques. The eight queens puzzle is a special case of the more general n queens problem of placing n non-attacking queens on an n×n chessboard. Solutions exist for all natural numbers n except n = 2 and n = 3. Although the exact number of solutions is only known for n ≤ 27, the asymptotic growth rate of the number of solutions is approximately (0.143 n)n.

Install

Install prerequisites

Install sdkman for your platform.

graalvm

Install graalvm via sdkman

$ sdk install java 22.3.2.r17-grl
$ source ~/.sdkman/bin/sdkman-init.sh 

musl

$ sudo apt install musl-tools musl-dev

mac

$ brew install filosottile/musl-cross/musl-cross

graalvm native-image

Install graalvm-native-image via graalvm

$ gu install native-image 

build

Build package

$ ./gradlew nativeCompile

Usage

1 queen

➜  picocli-example-choco-solver-queens git:(master) ✗ build/native/nativeCompile/queenSolver 1
INFO  [main] o.m.p.c.q.QueensSolver: Found 1 solutions for the 1-queens problem: 
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[1]

2 queens

➜  picocli-example-choco-solver-queens git:(master) ✗ build/native/nativeCompile/queenSolver 2
INFO  [main] o.m.p.c.q.QueensSolver: Found 0 solutions for the 2-queens problem: 
INFO  [main] o.m.p.c.q.QueensSolver: No solution found for 2 queens

3 queens

➜  picocli-example-choco-solver-queens git:(master) ✗ build/native/nativeCompile/queenSolver 3
INFO  [main] o.m.p.c.q.QueensSolver: Found 0 solutions for the 3-queens problem: 
INFO  [main] o.m.p.c.q.QueensSolver: No solution found for 3 queens

4 queens

img.png

➜  picocli-example-choco-solver-queens git:(master) ✗ build/native/nativeCompile/queenSolver 4
INFO  [main] o.m.p.c.q.QueensSolver: Found 2 solutions for the 4-queens problem: 
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[4], Q_2[1], Q_3[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[1], Q_2[4], Q_3[2]

5 queens

solution_5.png

➜  picocli-example-choco-solver-queens git:(master) ✗ build/native/nativeCompile/queenSolver 5
INFO  [main] o.m.p.c.q.QueensSolver: Found 10 solutions for the 5-queens problem: 
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[1], Q_1[3], Q_2[5], Q_3[2], Q_4[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[1], Q_1[4], Q_2[2], Q_3[5], Q_4[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[2], Q_2[5], Q_3[3], Q_4[1]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[5], Q_2[2], Q_3[4], Q_4[1]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[3], Q_2[1], Q_3[4], Q_4[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[1], Q_2[3], Q_3[5], Q_4[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[2], Q_2[4], Q_3[1], Q_4[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[5], Q_2[3], Q_3[1], Q_4[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[4], Q_2[1], Q_3[3], Q_4[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[1], Q_2[4], Q_3[2], Q_4[5]

6 queens

➜  picocli-example-choco-solver-queens git:(master) ✗ build/native/nativeCompile/queenSolver 6
INFO  [main] o.m.p.c.q.QueensSolver: Found 4 solutions for the 6-queens problem: 
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[3], Q_2[1], Q_3[6], Q_4[4], Q_5[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[6], Q_2[2], Q_3[5], Q_4[1], Q_5[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[1], Q_2[5], Q_3[2], Q_4[6], Q_5[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[4], Q_2[6], Q_3[1], Q_4[3], Q_5[5]

7 queens

➜  picocli-example-choco-solver-queens git:(master) ✗ build/native/nativeCompile/queenSolver 7
INFO  [main] o.m.p.c.q.QueensSolver: Found 40 solutions for the 7-queens problem: 
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[7], Q_2[2], Q_3[6], Q_4[3], Q_5[1], Q_6[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[2], Q_2[7], Q_3[5], Q_4[3], Q_5[1], Q_6[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[7], Q_2[5], Q_3[2], Q_4[6], Q_5[1], Q_6[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[7], Q_1[3], Q_2[6], Q_3[2], Q_4[5], Q_5[1], Q_6[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[7], Q_2[2], Q_3[4], Q_4[6], Q_5[1], Q_6[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[7], Q_2[2], Q_3[4], Q_4[6], Q_5[1], Q_6[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[6], Q_2[3], Q_3[7], Q_4[4], Q_5[1], Q_6[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[7], Q_1[4], Q_2[1], Q_3[5], Q_4[2], Q_5[6], Q_6[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[6], Q_2[1], Q_3[3], Q_4[5], Q_5[7], Q_6[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[3], Q_2[1], Q_3[4], Q_4[7], Q_5[5], Q_6[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[3], Q_2[1], Q_3[6], Q_4[4], Q_5[2], Q_6[7]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[4], Q_2[1], Q_3[7], Q_4[5], Q_5[3], Q_6[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[5], Q_2[1], Q_3[4], Q_4[7], Q_5[3], Q_6[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[4], Q_2[2], Q_3[7], Q_4[5], Q_5[3], Q_6[1]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[6], Q_2[2], Q_3[5], Q_4[1], Q_5[4], Q_6[7]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[1], Q_1[5], Q_2[2], Q_3[6], Q_4[3], Q_5[7], Q_6[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[1], Q_2[3], Q_3[6], Q_4[2], Q_5[7], Q_6[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[1], Q_2[3], Q_3[5], Q_4[7], Q_5[2], Q_6[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[7], Q_1[5], Q_2[3], Q_3[1], Q_4[6], Q_5[4], Q_6[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[5], Q_2[3], Q_3[1], Q_4[7], Q_5[4], Q_6[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[7], Q_2[3], Q_3[6], Q_4[2], Q_5[5], Q_6[1]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[1], Q_1[6], Q_2[4], Q_3[2], Q_4[7], Q_5[5], Q_6[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[7], Q_2[4], Q_3[1], Q_4[5], Q_5[2], Q_6[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[7], Q_1[2], Q_2[4], Q_3[6], Q_4[1], Q_5[3], Q_6[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[1], Q_2[4], Q_3[7], Q_4[3], Q_5[6], Q_6[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[1], Q_1[3], Q_2[5], Q_3[7], Q_4[2], Q_5[4], Q_6[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[7], Q_2[5], Q_3[3], Q_4[1], Q_5[6], Q_6[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[1], Q_2[5], Q_3[2], Q_4[6], Q_5[3], Q_6[7]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[2], Q_2[5], Q_3[1], Q_4[4], Q_5[7], Q_6[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[3], Q_2[5], Q_3[7], Q_4[1], Q_5[4], Q_6[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[4], Q_2[6], Q_3[1], Q_4[3], Q_5[5], Q_6[7]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[1], Q_2[6], Q_3[2], Q_4[5], Q_5[7], Q_6[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[2], Q_2[6], Q_3[3], Q_4[7], Q_5[4], Q_6[1]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[1], Q_2[6], Q_3[4], Q_4[2], Q_5[7], Q_6[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[1], Q_2[6], Q_3[4], Q_4[2], Q_5[7], Q_6[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[1], Q_1[4], Q_2[7], Q_3[3], Q_4[6], Q_5[2], Q_6[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[5], Q_2[7], Q_3[4], Q_4[1], Q_5[3], Q_6[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[4], Q_2[7], Q_3[1], Q_4[3], Q_5[5], Q_6[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[3], Q_2[7], Q_3[4], Q_4[1], Q_5[5], Q_6[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[5], Q_2[7], Q_3[2], Q_4[4], Q_5[6], Q_6[1]

8 queens

solution_8.png

➜  picocli-example-choco-solver-queens git:(master) ✗ build/native/nativeCompile/queenSolver 8
INFO  [main] o.m.p.c.q.QueensSolver: Found 92 solutions for the 8-queens problem: 
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[7], Q_1[4], Q_2[2], Q_3[5], Q_4[8], Q_5[1], Q_6[3], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[7], Q_1[4], Q_2[2], Q_3[8], Q_4[6], Q_5[1], Q_6[3], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[7], Q_2[2], Q_3[6], Q_4[3], Q_5[1], Q_6[8], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[7], Q_2[2], Q_3[6], Q_4[3], Q_5[1], Q_6[4], Q_7[8]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[6], Q_2[2], Q_3[7], Q_4[5], Q_5[1], Q_6[8], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[6], Q_2[2], Q_3[5], Q_4[8], Q_5[1], Q_6[7], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[7], Q_2[2], Q_3[8], Q_4[5], Q_5[1], Q_6[4], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[7], Q_2[2], Q_3[4], Q_4[8], Q_5[1], Q_6[3], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[4], Q_2[6], Q_3[8], Q_4[3], Q_5[1], Q_6[7], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[7], Q_1[3], Q_2[8], Q_3[2], Q_4[5], Q_5[1], Q_6[6], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[6], Q_2[8], Q_3[2], Q_4[7], Q_5[1], Q_6[3], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[7], Q_2[5], Q_3[2], Q_4[6], Q_5[1], Q_6[3], Q_7[8]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[6], Q_2[8], Q_3[2], Q_4[4], Q_5[1], Q_6[7], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[3], Q_2[8], Q_3[4], Q_4[7], Q_5[1], Q_6[6], Q_7[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[2], Q_2[8], Q_3[5], Q_4[7], Q_5[1], Q_6[3], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[2], Q_2[5], Q_3[8], Q_4[6], Q_5[1], Q_6[3], Q_7[7]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[4], Q_2[2], Q_3[8], Q_4[5], Q_5[7], Q_6[1], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[7], Q_2[3], Q_3[6], Q_4[8], Q_5[5], Q_6[1], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[7], Q_2[3], Q_3[8], Q_4[2], Q_5[5], Q_6[1], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[7], Q_2[2], Q_3[8], Q_4[6], Q_5[4], Q_6[1], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[3], Q_2[7], Q_3[2], Q_4[4], Q_5[8], Q_6[1], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[2], Q_2[7], Q_3[3], Q_4[6], Q_5[8], Q_6[1], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[2], Q_2[4], Q_3[6], Q_4[8], Q_5[3], Q_6[1], Q_7[7]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[3], Q_2[7], Q_3[2], Q_4[8], Q_5[5], Q_6[1], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[7], Q_2[1], Q_3[8], Q_4[5], Q_5[2], Q_6[6], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[8], Q_2[1], Q_3[3], Q_4[6], Q_5[2], Q_6[7], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[8], Q_2[1], Q_3[5], Q_4[7], Q_5[2], Q_6[6], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[3], Q_2[1], Q_3[6], Q_4[8], Q_5[2], Q_6[4], Q_7[7]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[4], Q_2[1], Q_3[5], Q_4[8], Q_5[2], Q_6[7], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[3], Q_2[1], Q_3[8], Q_4[5], Q_5[2], Q_6[4], Q_7[7]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[3], Q_2[1], Q_3[8], Q_4[4], Q_5[2], Q_6[7], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[8], Q_1[4], Q_2[1], Q_3[3], Q_4[6], Q_5[2], Q_6[7], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[5], Q_2[7], Q_3[1], Q_4[4], Q_5[2], Q_6[8], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[8], Q_2[4], Q_3[1], Q_4[7], Q_5[2], Q_6[6], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[1], Q_2[4], Q_3[6], Q_4[8], Q_5[2], Q_6[7], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[1], Q_1[7], Q_2[4], Q_3[6], Q_4[8], Q_5[2], Q_6[5], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[4], Q_2[7], Q_3[1], Q_4[8], Q_5[2], Q_6[5], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[1], Q_2[7], Q_3[5], Q_4[8], Q_5[2], Q_6[4], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[2], Q_2[8], Q_3[1], Q_4[4], Q_5[7], Q_6[3], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[2], Q_2[6], Q_3[1], Q_4[7], Q_5[4], Q_6[8], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[2], Q_2[7], Q_3[1], Q_4[3], Q_5[5], Q_6[8], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[2], Q_2[7], Q_3[1], Q_4[4], Q_5[8], Q_6[5], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[7], Q_1[2], Q_2[4], Q_3[1], Q_4[8], Q_5[5], Q_6[3], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[8], Q_1[2], Q_2[4], Q_3[1], Q_4[7], Q_5[5], Q_6[3], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[4], Q_2[7], Q_3[1], Q_4[3], Q_5[5], Q_6[2], Q_7[8]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[6], Q_2[8], Q_3[1], Q_4[4], Q_5[7], Q_6[5], Q_7[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[6], Q_2[4], Q_3[1], Q_4[8], Q_5[5], Q_6[7], Q_7[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[7], Q_2[4], Q_3[1], Q_4[3], Q_5[8], Q_6[6], Q_7[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[7], Q_1[5], Q_2[3], Q_3[1], Q_4[6], Q_5[8], Q_6[2], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[5], Q_2[7], Q_3[1], Q_4[3], Q_5[8], Q_6[6], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[8], Q_2[6], Q_3[1], Q_4[3], Q_5[5], Q_6[7], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[8], Q_2[4], Q_3[1], Q_4[3], Q_5[6], Q_6[2], Q_7[7]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[6], Q_2[8], Q_3[1], Q_4[5], Q_5[7], Q_6[2], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[5], Q_2[2], Q_3[8], Q_4[6], Q_5[4], Q_6[7], Q_7[1]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[2], Q_2[4], Q_3[7], Q_4[3], Q_5[8], Q_6[6], Q_7[1]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[2], Q_2[7], Q_3[3], Q_4[6], Q_5[8], Q_6[5], Q_7[1]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[6], Q_2[4], Q_3[2], Q_4[8], Q_5[5], Q_6[7], Q_7[1]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[2], Q_2[7], Q_3[5], Q_4[1], Q_5[8], Q_6[6], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[7], Q_1[2], Q_2[6], Q_3[3], Q_4[1], Q_5[4], Q_6[8], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[8], Q_1[2], Q_2[5], Q_3[3], Q_4[1], Q_5[7], Q_6[4], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[2], Q_2[8], Q_3[6], Q_4[1], Q_5[3], Q_6[5], Q_7[7]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[5], Q_2[7], Q_3[4], Q_4[1], Q_5[8], Q_6[6], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[6], Q_2[8], Q_3[3], Q_4[1], Q_5[4], Q_6[7], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[7], Q_2[5], Q_3[8], Q_4[1], Q_5[4], Q_6[6], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[3], Q_2[5], Q_3[8], Q_4[1], Q_5[4], Q_6[2], Q_7[7]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[3], Q_2[5], Q_3[7], Q_4[1], Q_5[4], Q_6[2], Q_7[8]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[3], Q_2[7], Q_3[4], Q_4[1], Q_5[8], Q_6[2], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[8], Q_2[2], Q_3[4], Q_4[1], Q_5[7], Q_6[5], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[5], Q_2[2], Q_3[8], Q_4[1], Q_5[7], Q_6[4], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[6], Q_2[2], Q_3[7], Q_4[1], Q_5[4], Q_6[8], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[5], Q_2[8], Q_3[4], Q_4[1], Q_5[7], Q_6[2], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[6], Q_2[8], Q_3[3], Q_4[1], Q_5[7], Q_6[5], Q_7[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[7], Q_2[5], Q_3[3], Q_4[1], Q_5[6], Q_6[8], Q_7[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[8], Q_2[5], Q_3[3], Q_4[1], Q_5[7], Q_6[2], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[3], Q_1[8], Q_2[4], Q_3[7], Q_4[1], Q_5[6], Q_6[2], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[1], Q_2[5], Q_3[2], Q_4[8], Q_5[3], Q_6[7], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[1], Q_2[5], Q_3[8], Q_4[6], Q_5[3], Q_6[7], Q_7[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[7], Q_2[1], Q_3[4], Q_4[2], Q_5[8], Q_6[6], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[1], Q_2[8], Q_3[4], Q_4[2], Q_5[7], Q_6[3], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[1], Q_1[7], Q_2[5], Q_3[8], Q_4[2], Q_5[4], Q_6[6], Q_7[3]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[6], Q_2[1], Q_3[5], Q_4[2], Q_5[8], Q_6[3], Q_7[7]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[8], Q_1[3], Q_2[1], Q_3[6], Q_4[2], Q_5[5], Q_6[7], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[3], Q_2[1], Q_3[7], Q_4[2], Q_5[8], Q_6[6], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[4], Q_1[1], Q_2[5], Q_3[8], Q_4[2], Q_5[7], Q_6[3], Q_7[6]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[7], Q_1[1], Q_2[3], Q_3[8], Q_4[6], Q_5[4], Q_6[2], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[1], Q_1[6], Q_2[8], Q_3[3], Q_4[7], Q_5[4], Q_6[2], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[7], Q_1[3], Q_2[1], Q_3[6], Q_4[8], Q_5[5], Q_6[2], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[7], Q_2[1], Q_3[3], Q_4[8], Q_5[6], Q_6[4], Q_7[2]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[6], Q_1[3], Q_2[1], Q_3[7], Q_4[5], Q_5[8], Q_6[2], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[2], Q_1[6], Q_2[1], Q_3[7], Q_4[4], Q_5[8], Q_6[3], Q_7[5]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[1], Q_1[5], Q_2[8], Q_3[6], Q_4[3], Q_5[7], Q_6[2], Q_7[4]
INFO  [main] o.m.p.c.q.QueensSolver: Q_0[5], Q_1[1], Q_2[8], Q_3[6], Q_4[3], Q_5[7], Q_6[2], Q_7[4]

development

extract resources

$ ./gradlew -Pagent run

Output in build/native/agent-output/run/reflect-config.json