@@ -80,6 +80,28 @@ public void nQueens_10() {
8080 assertThat (nQueens (10 )).hasSize (724 );
8181 }
8282
83+ @ Test
84+ public void nQueens_27 () {
85+ assertThat (nQueens (27 ).limit (5 ))
86+ .containsExactly (
87+ asList (
88+ 0 , 2 , 4 , 1 , 3 , 8 , 10 , 12 , 14 , 16 , 18 , 22 , 24 , 26 , 23 , 25 , 5 , 9 , 6 , 15 , 7 , 11 , 13 ,
89+ 20 , 17 , 19 , 21 ),
90+ asList (
91+ 0 , 2 , 4 , 1 , 3 , 8 , 10 , 12 , 14 , 16 , 18 , 22 , 25 , 23 , 26 , 24 , 5 , 9 , 6 , 15 , 7 , 11 , 13 ,
92+ 20 , 17 , 19 , 21 ),
93+ asList (
94+ 0 , 2 , 4 , 1 , 3 , 8 , 10 , 12 , 14 , 16 , 20 , 26 , 23 , 25 , 22 , 24 , 5 , 9 , 6 , 15 , 13 , 11 , 7 ,
95+ 18 , 21 , 19 , 17 ),
96+ asList (
97+ 0 , 2 , 4 , 1 , 3 , 8 , 10 , 12 , 14 , 16 , 20 , 26 , 24 , 22 , 25 , 23 , 5 , 9 , 6 , 15 , 13 , 11 , 7 ,
98+ 18 , 21 , 19 , 17 ),
99+ asList (
100+ 0 , 2 , 4 , 1 , 3 , 8 , 10 , 12 , 14 , 16 , 21 , 25 , 22 , 26 , 23 , 5 , 24 , 11 , 15 , 7 , 9 , 6 , 13 ,
101+ 18 , 20 , 17 , 19 ))
102+ .inOrder ();
103+ }
104+
83105 static Stream <ImmutableList <Integer >> nQueens (int n ) {
84106 class NQueen extends Iteration <ImmutableList <Integer >> {
85107 final List <Integer > queens = new ArrayList <>(nCopies (n , -1 ));
0 commit comments