Generated on Sun Aug 9 2020 05:34:08 for Gecode by doxygen 1.8.18
sudoku-instances.hh
Go to the documentation of this file.
1 /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2 /*
3  * Main authors:
4  * Mikael Lagerkvist <lagerkvist@gecode.org>
5  * Guido Tack <tack@gecode.org>
6  * Christian Schulte <schulte@gecode.org>
7  *
8  * Copyright:
9  * Mikael Lagerkvist, 2005
10  * Guido Tack, 2005
11  * Christian Schulte, 2005
12  *
13  * This file is part of Gecode, the generic constraint
14  * development environment:
15  * http://www.gecode.org
16  *
17  * Permission is hereby granted, free of charge, to any person obtaining
18  * a copy of this software and associated documentation files (the
19  * "Software"), to deal in the Software without restriction, including
20  * without limitation the rights to use, copy, modify, merge, publish,
21  * distribute, sublicense, and/or sell copies of the Software, and to
22  * permit persons to whom the Software is furnished to do so, subject to
23  * the following conditions:
24  *
25  * The above copyright notice and this permission notice shall be
26  * included in all copies or substantial portions of the Software.
27  *
28  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
29  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
30  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
31  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
32  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
33  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
34  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35  *
36  */
37 
38 namespace {
39  extern const char* examples[];
40  extern const unsigned int n_examples;
41  int example_size(const char *s);
42  int sudokuField(const char *s, int n, int i, int j);
43 
52 
54  const char* examples[] = {
55  // 0
56  "...2.5..."
57  ".9....73."
58  "..2..9.6."
59  "2.....4.9"
60  "....7...."
61  "6.9.....1"
62  ".8.4..1.."
63  ".63....8."
64  "...6.8..."
65  ,
66  // 1
67  "3..9.4..1"
68  "..2...4.."
69  ".61...79."
70  "6..247..5"
71  "........."
72  "2..836..4"
73  ".46...23."
74  "..9...6.."
75  "5..3.9..8"
76  ,
77  // 2
78  "....1...."
79  "3.14..86."
80  "9..5..2.."
81  "7..16...."
82  ".2.8.5.1."
83  "....97..4"
84  "..3..4..6"
85  ".48..69.7"
86  "....8...."
87  ,
88  // 3
89  // Fiendish puzzle April 21 2005 Times London
90  "..4..3.7."
91  ".8..7...."
92  ".7...82.5"
93  "4.....31."
94  "9.......8"
95  ".15.....4"
96  "1.69...3."
97  "....2..6."
98  ".2.4..5.."
99  ,
100  // 4
101  // This one requires search
102  ".43.8.25."
103  "6........"
104  ".....1.94"
105  "9....4.7."
106  "...6.8..."
107  ".1.2....3"
108  "82.5....."
109  "........5"
110  ".34.9.71."
111  ,
112  // 5
113  // Hard one from http://www.cs.mu.oz.au/671/proj3/node5.html
114  ".....3.6."
115  ".......1."
116  ".975...8."
117 
118  "....9.2.."
119  "..8.7.4.."
120  "..3.6...."
121 
122  ".1...289."
123  ".4......."
124  ".5.1....."
125  , // Puzzle 1 from http://www.sudoku.org.uk/bifurcation.htm
126  // 6
127  "1..9.7..3"
128  ".8.....7."
129  "..9...6.."
130  "..72.94.."
131  "41.....95"
132  "..85.43.."
133  "..3...7.."
134  ".5.....4."
135  "2..8.6..9"
136  , // Puzzle 2 from http://www.sudoku.org.uk/bifurcation.htm
137  // 7
138  "...3.2..."
139  ".5.798.3."
140  "..7...8.."
141  "..86.73.."
142  ".7.....6."
143  "..35.41.."
144  "..5...6.."
145  ".2.419.5."
146  "...8.6..."
147  , // Puzzle 3 from http://www.sudoku.org.uk/bifurcation.htm
148  // 8
149  "...8....6"
150  "..162.43."
151  "4...71..2"
152  "..72...8."
153  "....1...."
154  ".1...62.."
155  "1..73...4"
156  ".26.481.."
157  "3....5..."
158  , // Puzzle 4 from http://www.sudoku.org.uk/bifurcation.htm
159  // 9
160  "3.5..4.7."
161  ".7......1"
162  ".4.9...3."
163  "4...51..6"
164  ".9.....4."
165  "2..84...7"
166  ".2...7.6."
167  "8......9."
168  ".6.4..2.8"
169  , // Puzzle 5 from http://www.sudoku.org.uk/bifurcation.htm
170  // 10
171  "...7..3.."
172  ".6....57."
173  ".738..41."
174  "..928...."
175  "5.......9"
176  "....936.."
177  ".98..715."
178  ".54....6."
179  "..1..9..."
180  , // Puzzle 6 from http://www.sudoku.org.uk/bifurcation.htm
181  // 11
182  "...6....4"
183  ".3..9..2."
184  ".6.8..7.."
185  "..5.6...1"
186  "67.3.1.58"
187  "9...5.4.."
188  "..6..3.9."
189  ".1..8..6."
190  "2....6..."
191  , // Puzzle 7 from http://www.sudoku.org.uk/bifurcation.htm
192  // 12
193  "8....1.4."
194  "2.6.9..1."
195  "..9..6.8."
196  "124.....9"
197  "........."
198  "9.....824"
199  ".5.4..1.."
200  ".8..7.2.5"
201  ".9.5....7"
202  , // Puzzle 8 from http://www.sudoku.org.uk/bifurcation.htm
203  // 13
204  "652.48..7"
205  ".7.2.54.."
206  "........."
207  ".641...7."
208  "....8...."
209  ".8...456."
210  "........."
211  "..86.7.2."
212  "2..89.751"
213  , // Puzzle 9 from http://www.sudoku.org.uk/bifurcation.htm
214  // 14
215  "..6..2..9"
216  "1..5...2."
217  ".473.6..1"
218  ".....8.4."
219  ".3.....7."
220  ".1.6....."
221  "4..8.321."
222  ".6...1..4"
223  "3..4..9.."
224  , // Puzzle 10 from http://www.sudoku.org.uk/bifurcation.htm
225  // 15
226  "..4.5.9.."
227  "....7...6"
228  "37......2"
229  "..95...8."
230  "..12.43.."
231  ".6...92.."
232  "2......93"
233  "1...4...."
234  "..6.2.7.."
235  , // Puzzle 11 from http://www.sudoku.org.uk/bifurcation.htm
236  // 16
237  "....3.79."
238  "3.......5"
239  "...4.73.6"
240  ".53.94.7."
241  "....7...."
242  ".1.82.64."
243  "7.19.8..."
244  "8.......1"
245  ".94.1...."
246  , // From http://www.sudoku.org.uk/discus/messages/29/51.html?1131034031
247  // 17
248  "2581.4.37"
249  "936827514"
250  "47153.28."
251  "7152.3.4."
252  "849675321"
253  "36241..75"
254  "1249..753"
255  "593742168"
256  "687351492"
257  ,
258  // 18
259  // The following minimal 25*25 Sudokus are from Alain Frisch
260  // Sudoku website http://www.eleves.ens.fr/home/frisch/sudoku.html
261  "...G...9..4.....6F..L8..."
262  "CEIN.HDM.OF.1L..A..9PJ.4."
263  ".....A...L..JBN.2.D.1...H"
264  "P49...JB23.AD..7E..C5F..."
265  "A1H....F.N5....I.BL...26."
266  "....7..C.6...H4B..1....I5"
267  ".F.P...I..B..7.5.L...9..."
268  ".L6A...5OF.8P...K.NE..734"
269  "B2.E..L...1J.5....O7.K.AP"
270  "O.5.CB1.P....3EM....2L.H."
271  "2..MJ.A...9.3.7......P.8C"
272  ".....CF.DPG62N.E...OH.M.J"
273  ".DL..OM..IE.B8..NH...3..K"
274  ".CO1F.B.N.AH..P.78.JE...D"
275  "E..6.....H......4M.KIB9.."
276  "N.J..6......C..1.5.G..H.."
277  "...75LG...6..1..CI..4.E.."
278  "9K..6.....HGN.O2P.4......"
279  ".OA..IP849...2.K3...7GN.."
280  "..G....N...P.D9....A...C1"
281  "J...M.NAFE.4..23.7....8L."
282  ".....J.H9CD1LP..GO....4ME"
283  "48NK..5.M......JL.......9"
284  ".I.OG....835.A.DH..P....."
285  "35......L.J..E....8IG.67B"
286  ,
287  // 19
288  ".N..JG..O7591...8I....L.."
289  "FG.M.B8...P.E...CJ..H...."
290  "...........G.4.H.D.O.NJA2"
291  ".....J.EN4.L6MA.B.2......"
292  "HE..2..DC.....F4KMA.B.9O8"
293  "M....62...47C19......E5.."
294  ".I2.8M.JGL...ADN..K..3.F7"
295  "..H3.5..89....I.J.....NL."
296  "1B..9.FAP.6.N....537.H..O"
297  "......1..N...O...LC.68.PG"
298  "KOA.FNBH.....7.C.....M..6"
299  "45.ECP.I..N.F.J1...MK.79."
300  "I.L..8.O..9.P...A...2.1J."
301  "..621.D.M.....B8LG..P..CH"
302  ".HP.N7E.L1....3..B..O.G45"
303  "....BIO....5.C.P...FN48E."
304  "...FL.....2.DH..17..59O.."
305  "..I.MF..2G.N...A6O.HC.PB."
306  "72.1..L...IM.96E.45G....."
307  "..9...7M..A.O...I...L...."
308  ".C.JA.........1.....E.48."
309  "O.BI.......PHL.6..1....5C"
310  "G6M...N4FI8...K..H.E....."
311  ".L..4.917....BE.G8F.M.I.."
312  "8F......5.O3..4...9.....K"
313  ,
314  // 20
315  "5.PC..7..J..I...3..H.M.2L"
316  "H.......F..DA..N.G...9..P"
317  "...3LCP2.54.71.B....J.8.."
318  "76M8...3A...H..C.D.FO...."
319  "...DK..GI..B.L.6.8.14...."
320  "A......M....D.6.N.P....O2"
321  "...E5BLF..92..3AJC..6I..."
322  ".PNJ.6..E7A.8..IM.OL1.G.C"
323  ".L3...O.N.5.KI.46.....9E."
324  ".I.G.A..28.MBP...E..HJ3.7"
325  "J.74.L..D1O96.A3.M...GI.."
326  "E...1...K....J...P6.7.C.9"
327  "8M..A9JO.F.P..1...4.E3N6."
328  "...I.3.7.......EL.CD..H.."
329  "....DE2..P...N.........K."
330  ".O.7.FKI1..GJ.N.....9.P8."
331  ".89..H..BNM73D.KFJ..I.6.A"
332  "PDBN...9M..C.....O.6..7.."
333  ".F.K...4..LA9B..C.E75..GN"
334  "G.A.....7.8.....H....O.3."
335  "B...C...4......8K.3.P...."
336  "DHE5..FA...J.3..B.2.KC.98"
337  "...F...5....N..J9......I."
338  ".J...P..O.BK....I.M.3..5."
339  "9...8.B.6.D.M.I..H.5G.J4."
340  ,
341  // 21
342  "..6F.....5..3.....H..A.M2"
343  ".....3....I8.A.MC.KJ.LNG."
344  ".I.7N..K.2..6...3D..B.O85"
345  ".3A.PF.D8OBK7.2....L6.9H4"
346  ".K..CBML.....O.A8.G4.D..."
347  "1.4.AGL..M5..F.O.9....P2."
348  "..I.........8......N4E..."
349  "J.C8.1.6.3.LO.K7AG2P9.H.."
350  ".2.3BH..9.A...G......O..L"
351  ".H..M8.J.....NI1.LEF....B"
352  "I5..4.....G.27..K..3.M..H"
353  "P..E..I.A..3B.8....G.2..."
354  "AJ......NFK.I.O9476..G.1."
355  ".976...E3H....M5.F......O"
356  ".F.M3.5.GKC4.HJ.N.....ID7"
357  "..L1K..9.J37.ID..B..E6..."
358  ".82OH.1..PNML...E..C...J."
359  "....JLFN.B..G..6M..H..D.9"
360  "...C.A...I.6.......K.5..."
361  "E.G.I.....O....J.8F......"
362  "..M4..9.D.7.K.FE.3O......"
363  "H.N.....14E..B3L..8I...AG"
364  "K.O.62.PM...N..H...18C.9."
365  "LC..8.3...2...H.G...J..4E"
366  ".B..9NK.E....C6.P.4D.71OI"
367  ,
368  // 22
369  "A..F.N......M28DC.LI7..OJ"
370  "..B...D.M.6....9.....2A.."
371  ".2..I.56.B...J.MEH......."
372  "O7...HE...BA..G2........L"
373  ".H6J.2...G.7NDP.A...8..C."
374  ".PN35..B..869.2.GA..K.C.."
375  "....EM13OD.N...49K...7..."
376  "9G..C....IJF5.B..7.3....."
377  "HD.....JN....7...EF....9."
378  "1.OA..G.KL....H..B.CP...."
379  "..CE.......2..9I....3...."
380  "FJ..83P.E..K7.NL15H..I2.."
381  ".4..GJ...6DIB...P...AHL.C"
382  ".1I.2.M....83.F..4.NBE..."
383  "L3M.OD.H.AG..4.....69...F"
384  ".8...5H.3.....M...D..K..4"
385  "3..4..AEDO7J...5..9..G1.."
386  "..2N9.8F.P.OIGC.L6..E.H.."
387  "C...1.7..K.L6.4EO.8.5...N"
388  ".IG.H..M..E...1A2N4..8.F."
389  "6..5J..N1...2..H.IGA...P8"
390  ".L...O...H...C....M5G..A."
391  "..F...3C.7.P..5N..B..DMH9"
392  "291D..6..M..H.7.3.J.N..B."
393  "....MK..29F.G.DO4...6.E35"
394  ,
395  // 23
396  "....B12O3..D..F..KPL.E4.7"
397  "1M..GL..H..K.A.....39.P.."
398  ".8.3.4.....7..6.F.....CK."
399  "P.O...758.2..MC.....1L.A."
400  "...HFK6.A..8...9B...2...J"
401  "91.KJE..L.5O..GD.....4..."
402  ".I..3..D.2.....C4MLAK..N."
403  ".4..6IA.P7.....B9......3."
404  "M.F...4.J...8....N.H.1G7."
405  "..5P.N.....C.731.I.E.9A.."
406  ".....GO.KDL......BA......"
407  ".3A..F...9..K.EI5.7..6.DN"
408  ".G.54.L.....PH..3F6....2."
409  "....P.....G..2D.OH.1B...C"
410  "6.EM.7N....3.B4..DC..K1P."
411  "B.9.....I..5N...7OGK...46"
412  "OF.GD6HP..JM..BA8.I.C...."
413  "8.L7...........P.3M5...92"
414  ".EM.....45IF7....2.CJ8DL."
415  ".6.4.8..NA.2......9....GI"
416  "2..A1DCN..3G.F5.L..I..O6H"
417  "..BIO..1.H.L...G........."
418  "C.P.....M8.9O..5A..N.JK.D"
419  "H...N...FOA4..73....5..CM"
420  ".D4..3...6BE..N.2JH8..L.."
421  ,
422  // 24
423  "LJ.FH2...K....359.E.B6.N."
424  "...EML1FC.PJ.A.8I....2.K4"
425  "9........G1..6..K...PAL3C"
426  "P...C34..8.N7.........DE."
427  "...7....E..IO...124.J5.F."
428  ".8.L.PA.2..31FG....N..C.I"
429  "F.G......M........2.K..1."
430  "....2KH6.JOD..9.L..G...B."
431  ".6O3..G...4.NJ.H.PB...5.9"
432  "I...K..LBN...E.76.A....8."
433  "D.B.L......8.3.C.KM.6...."
434  ".C593.I.N4.26MB..1..L.K.."
435  "M.F6......DA45.9..N.I3..B"
436  ".G..79.H...KJ...4...AN.2."
437  ".KH...BC....LON..7..D.8.F"
438  "2..B...MP....7OEJ4....6.1"
439  ".4....2O.9......N..1....G"
440  ".....G.JF.2..L.6.5......."
441  "C9A.G...H1...PJ..L.3.8.MN"
442  "...1......M.....O.P8.K3J."
443  "...N.HP.K25G3..JC8..1M..."
444  "..2K.FC34.A....N7..9.LB.."
445  "..65DJ..L..C.4.1...BGF..."
446  "OF..E..7.B.......634...D."
447  "G.3..N.I9D7PM8KF2....4..."
448  ,
449  // 25
450  ".1..I8.P..6.N...BD...3O.."
451  ".9.6...E.M43.8..AK.2J.1.."
452  "...JKL...FA...P.I4...DB.."
453  "E...P.I.B.7.1..J.HC...98."
454  "..5M8GJ.KD.O...N3..1AI..."
455  "K.2C4.M.N..J..I.......H.5"
456  "N..B9O.D...KH6.E...C...7I"
457  "DE..JK4.....L.1B7..68PN2."
458  ".....P...C..F.7...L.O9..."
459  "...35.H......92..M.4.EC.1"
460  "P..IL..H.........1..3.D.."
461  "....B9..8.3I5.C...K...F1."
462  "FH....2O..D.4M.P...A...GC"
463  "JA.......KF.......4.EOMIP"
464  "3.7GNF...A.2OB9C.E5.HJ..."
465  "2.I.1.......AO5.P...K.3.."
466  "..H....L..M.CIJ..7...4..."
467  "GO.9..KF.I.P3...E.HJ...N7"
468  "5.37...B.E...4N..O.8....."
469  "4B...7.9O.HL..E2C3.K51.M."
470  "L.O42...D..AJ.8...GH.N..E"
471  "9M.8.H..LG1..N..5.E..F7B."
472  "......FAC..5M..I6J.B4...G"
473  "...F..82..P.E......36HK.L"
474  "B.J.G5...O.H2..98.7......"
475  ,
476  // 26
477  ".CNPHK.53.O9F..D.78..J..."
478  "J.....F.DB...7.G..PAE...L"
479  ".6.........5.4A......I..."
480  "A..L.6.E.1JG....5.H.2...9"
481  "..G4..P...E2N.M...C..FB.1"
482  "..PKJ...G41O..C.N..H....."
483  ".M..I5L97J.3H...E2.8...D."
484  "1.4..ON.83G.P.D59..C.BH.."
485  "..2.9.......4.F.3.6..O.7."
486  "3F.7.MEC..5...2..4K.LN8.."
487  "...I........MF7.6AOG..LE."
488  "C1.3..JG..D.9...4..N...68"
489  "...M7L9..NHA...FJ.I..3.C."
490  ".A...P...5...E3.8M..K4OFG"
491  ".....C.6KIP...8..3.DJ...."
492  ".2.J...3C..7.D.9A.EF6L..."
493  "4...3.6N.....L9.H..P8...2"
494  ".9.C.4H.......P....1..FJ3"
495  ".LD.K87.1.BM5AJN....4H.G."
496  ".B..MAI........47O.LD...."
497  ".G....3....F..1..9..M..K6"
498  "P7.A..B8.......2....I.3.."
499  "M..O....9K2..6..1.N.FE.L."
500  "....E...A..N.J.IG8...C.9."
501  "6KL.4...FCI.A.....5J.2D.N"
502  ,
503  // 27
504  "E..I...M......L....D...BK"
505  "F..BH9.K.A2.7..E4.P.6..M."
506  ".6.J..PD8FE.IM...K...54.."
507  "L...8E...IA..HC........7J"
508  ".....7H.4.JK..DOFC....9I."
509  "9...7A.5.B.M34E.KDJ8....."
510  "8...BD....O..7....CP.E.6."
511  ".1.3..8....D...2.ML.B..5A"
512  ".E2.A.O.7..1..I.659..8LD."
513  "KF..M2...PL......A.G..N3."
514  "...76N.1..CBG...DPK..O.J2"
515  ".JK...6B.9..P.7.N.EMFDG.5"
516  "N....G.F.8....OH9.2...E.7"
517  "....4.3....F9.....5.NC.A."
518  "M.A.GL.J......5..4.7.91.."
519  "C.8NE.5..6..M.....BJ17..H"
520  "7.6...NL.41.AC.I8...GJ3.."
521  "...53P.GM2.L..F.....K.68."
522  "J.4.D..H..IG..8K..35.N.FL"
523  "P.F...93.D.....A.1......M"
524  "..7.I...1...DF..PJ.4.MA.."
525  ".KN.....5H..O.63.E.2....4"
526  "....1...O..A2..DCH8B..KE."
527  "3.HA.6BP.....J1957O..28.."
528  "42JO.I...K5C......6.P.B.."
529  ,
530  // 28
531  "...G87..O..F.N..CH6..D..2"
532  "C16..N....DL.3.E........."
533  ".LN.EK..D..O.G6.412....5H"
534  "K...2........59M...P..3.."
535  "..A9.M.6....8.E7O3..K..LB"
536  "7..8B.1.EP.....4.L.6.C.9."
537  ".3.6...9.85.A2F.....B.EP."
538  ".D4K.L..NA....C.M.E..7..."
539  "L..P.3H.CG.7....DKF..I6.."
540  "5EH.G.7.6.1....J....D3K.O"
541  ".6.....G.K.E..I2.4J......"
542  "..ICFP.8H7.2.O.B.NM5..G.."
543  ".M..D9..BE..J..F..I7..LAK"
544  ".BE.L...31.M7FK..C9..8.DN"
545  ".2O......D38C...E...F.P.."
546  ".A.....M..NB..3.J.7E8..2."
547  "...O...B..6..C.8KG4..5D7M"
548  "....M8..I..9..AL1.O.3HBNG"
549  ".C..4....L.....D.F......."
550  "J..5NF..G...H..6..C..1..."
551  "D..N..O....G9.J.A..I...8."
552  ".F.H1BN.K.O.4.8.6.3.9.M.."
553  "B...I....9K..6..2...G.H1."
554  "O...7.CJMI25N...HDKBPFAE."
555  ".....28.F..C........O.JK."
556  ,
557  // 29
558  "9.K..6D.I5...........H..."
559  ".I.E..BK...GN...6.L...3.."
560  "7....2..L8E.K.D1.P5I.6..A"
561  "..N.LEH.A32..CM9........."
562  "..2....9N...3.IC...J.KF8."
563  "......GA..C.7JPNI3....6L."
564  "....E.J.8K..I.....97NG2.B"
565  "O7..3HI...M.....DCF5..914"
566  "L.M.4.3.19.D..2......F.K."
567  "B....F...O9.6ANG.2.PH.E.5"
568  "8KDM...5.1....G......P..6"
569  ".4.H.L.C..J2....G..3ION.."
570  "C.A..J..E...1K......92.5."
571  ".9O.NP.2...IA....H..G..7."
572  "...I5..O.N4.H...2DCKJ...E"
573  "56....1.D..AJ.....7.L.O.."
574  "K.8.H.7.9.5....AC..O..G6F"
575  "3..........O..C.F.P6K.5.."
576  "...OC.4J2.3E.9...N.H7..P1"
577  ".B.7.K.....6.MH.LJ..A...."
578  "I..4.........P..E7D9O.B.H"
579  "E.3G.OP...I1CBL..FN4..82."
580  ".A..9N.8.E...73O..H....4."
581  ".M.C.3....DK..EI......JG."
582  ".HP..D..FB...NO.1KJ8.AL.."
583  ,
584  // 30
585  "....L.1.8H.CO..P....FA..."
586  "P1.2.4CO...K..A..3H8...7."
587  "I..H.G.5.B.6.M..A24.K..9."
588  "....6I.KF9..5.P.J1.BDCE.M"
589  ".A....2...F..L..E.M.6.5O3"
590  "7..1.C...8.L9..4P.5.G.K.."
591  "JO.5H.M2.I.7.F.6D..A4..NE"
592  "E.3.NO....K2...LG..7JM..."
593  ".9F.CJ.H....A.NKB.1..2.5."
594  "2LB...5..7.P36H.M..N...1D"
595  ".....P..B....46.HJ......."
596  "B4..7LI.C.GD2...KA.3H...."
597  "K5......6J1.........27O8P"
598  "LP...5K.G..JB3.......1.M."
599  "..EG...4.F.NKC...O..9.B.."
600  "..MI...D32AGP..5O...74.BN"
601  "FC74.....1..LO..8...5.D.J"
602  "..JN....H...E.I...DPA3.6."
603  "AE.......O3F..5.........H"
604  "...8..6......24.9G....I.1"
605  ".M....8.9..O1.F.C.EL3...A"
606  ".N...E.3.....I7M1...ODG.K"
607  "1......P.N9..D..5........"
608  ".I.P..FGOCMA.......J.5..2"
609  ".GK....7...3.....92..B.L4"
610  ,
611  // 31
612  "...H....GKM.43..B.D......"
613  "15I.C....8B.6D.7G....A.H4"
614  ".7...F..B...J.E16.N....3."
615  "...D.1...6L7.H.5K....P98F"
616  "KJ.AF.5CHO...NP2M.....B.."
617  "4..K..I9.M.DNP..A.3..E5O6"
618  "PGC...HE.....I5..M...7..J"
619  ".B.EJ..G.5..L....D.48.2.."
620  ".D....N.4.J.2A..H..5..F1."
621  "8....AJLD.7..OM...1B....P"
622  "CH...N..7.........B3....."
623  "I..O.JL..P5...3......KH.8"
624  "D.259.E......6.......L3.."
625  "...3K6.B.AE..74N25H..G1.."
626  ".L.B..41.HC...G.OIP8..MN7"
627  ".........2.C.4.L....69.I5"
628  "N...7.C...69.5.A......PKL"
629  "....L.G...13.BOMP.82..D7H"
630  "...C.H..5.P.E.K...I7....."
631  "JO..P.96ABI8.....C..N..4G"
632  ".NA8H.32..O4..IB..L9G..J."
633  "..4.GD..M.3..27INJ.O....."
634  ".C9L..A..J.....6.2..I..F."
635  "BK...4..F.A.CL..87.1.O.M."
636  "6..P.I.5...M..N....F....D"
637  ,
638  // 32
639  ".6OL.3GB.I.1F.EP..9..24.."
640  "..1.P.....K....N.2.....ID"
641  "2.8.K7..J...6..1F.......A"
642  "...D.8.4..29..LJ7.HMKPF.."
643  "..I.9N...A..P.M.DK...E5.."
644  "94.N...5..F..E.C182..BG3."
645  "8D..3HC....6G.....P.F.72I"
646  "C..I.E.7D....8BG.F...6..."
647  "......L....N.24..I..1K.DJ"
648  ".27HG.NF......I..L..E.A.."
649  "L...N.I8F6.H.9K.3O..B..5P"
650  ".9...L..25.B14F.N.JE...7K"
651  ".1...9B....GJ.8.A.5C....."
652  "....CPK..J....5.M.7.6.H.3"
653  "..F7..3..O..N..B8....421."
654  "AM.8....P...71..26N...3G."
655  "P....D.2.78.O..5CJ.GA.BH."
656  "6..4.F...3...K9A..1...J.M"
657  ".I2.E......JM.N...B98..P."
658  "FC..7..6.EI.D.G...3H5..KN"
659  "I8NO.4F.9..DB....5......."
660  "5..1...G3.MIH.A.9..N....."
661  "KG.62..1.....L3.....IJE.F"
662  "....D.6.AC4.9.....OL.HP.."
663  "..EA.5O.L.6.......D...9N."
664  ,
665  // 33
666  ".CH3.L..D4F..I.........1."
667  "G..K.....7.O.......L.42N."
668  "A.D...5O8B...39G.4..I...L"
669  "1E2OB....A8N..6FCD9.H...G"
670  "IN..4..3.....J..5OM....9."
671  "...JEMP..9G8..D7......BA."
672  "B.M9..L....6...2.FI.KJ..."
673  ".LN.386A..BH....O.J.2..7."
674  "7A6..2..3N.....4KP..G8HIC"
675  ".1.....J.CK3....HB..5L4.."
676  ".H......P.I.57....G..21B4"
677  "....7.....EP1....3.2..A.."
678  ".59.1FI.L8.MJG.B..AH....E"
679  "NI..D....O3K..A.P9..8F..."
680  ".O....A..E2.8.HN.J7.P...."
681  ".MC..P....H2...A7..ID...1"
682  ".6.....M.J.14.BDG.3.O9F2."
683  ".......CG.........4...M.."
684  "HDL...8N7.......FK2C.E..B"
685  "..KP2I.F.3...N7J.E.6..L85"
686  "D.E...C.4.7B..I....A.1..M"
687  "J..M..7..D.A..4...ONBG..2"
688  "9.7.6..K..P..O....D...8.."
689  ".2IN..GE1.D..8...MK.CPJH."
690  "FG..8B.2.L..KH.....1.5E..",
691 
692  // 55 16x16 instances (mostly harmless) from janko.at
693 
694  // http://janko.at/Raetsel/Sudoku/301.a.htm
695  // 34
696  "D92.....G...43.."
697  "4CF.....9D.2.6EB"
698  ".E.1....F.8BC..A"
699  "G56.....A3C....1"
700  ".7G5A8....61...."
701  "2...C....B7....."
702  "..AE.964..G....."
703  ".F9.5.7.4......."
704  ".....29....A.C.."
705  "........645D.1.."
706  "....D....1.C.B7F"
707  ".....E.C2G...8A9"
708  "B..9.G52.....EF6"
709  ".256..F.....D.B."
710  "E13.6.D........7"
711  "A...8BC3....954."
712  ,
713 
714  // http://janko.at/Raetsel/Sudoku/302.a.htm
715  // 35
716  ".DG1.C.BE..3.4.A"
717  "..7B.62..41...59"
718  ".......D.....G.."
719  "..49.7.3.B6..FD."
720  ".9..G...C......4"
721  "G..46....9F.3.B."
722  ".C5.1...BE.86..G"
723  ".B.....E2G...D.."
724  "..3...596.....1."
725  "F..C2.76...B.E3."
726  ".1.8.4D....7F..5"
727  "E......F...D..9."
728  ".AB..FG.1.3.C8.."
729  "..2.....F......."
730  "8F...BC..62.97.."
731  "1.6.A..59.C.GB2."
732  ,
733 
734  // http://janko.at/Raetsel/Sudoku/303.a.htm
735  // 36
736  ".....D.3..7F.A.."
737  "...B1.F8....26.."
738  ".F.3...6D..AC..."
739  "AGC.9.5..8....BD"
740  "E.FG5...7...A.9."
741  "2.7.....89A36.F5"
742  "...1.9...CBE...."
743  ".3....A.....BG2."
744  ".1B2.....7....6."
745  "....B16...3.9..."
746  "5D.4F3EA.....2.B"
747  ".E.A...9...D83.C"
748  "4A....B..E.8.FC9"
749  "...EA..G1...D.4."
750  "..GC....FD.B1..."
751  "..D.47..6.C....."
752  ,
753 
754  // http://janko.at/Raetsel/Sudoku/304.a.htm
755  // 37
756  "....9...5...3B.."
757  "...D13.7.4.....F"
758  "637...2..81AC9.."
759  ".2G..5.......18D"
760  "...F4...3...8C.."
761  "E.D.7..6..G...A5"
762  "C5.6..3....F.2.."
763  "4.A...1D72.9..B."
764  ".E..D.9CA6...F.1"
765  "..9.5....E..D.26"
766  "B6...4..D..5.7.A"
767  "..F4...A...C9..."
768  "AB4.......2..G6."
769  "..68FBD..5...A47"
770  "1.....6.9.E4B..."
771  "..32...5...B...."
772  ,
773 
774  // http://janko.at/Raetsel/Sudoku/305.a.htm
775  // 38
776  "..16.E.8.BF.4..."
777  ".5...9D......A73"
778  "..3...B.78.D.6.."
779  "......1...9...BE"
780  "C..1D..6B5..7.A4"
781  "...5.F.98..32.DG"
782  "3.....C..D.A5.E."
783  "....3B5.F7...9.."
784  "..5...6C.2AE...."
785  ".3.BE.2..4.....9"
786  "F9.2A..B5.7.G..."
787  "EA.G..756..BD..1"
788  "6C...8...9......"
789  "..9.6.47.E...D.."
790  "2GE......C6...F."
791  "...3.CG.2.D.65.."
792  ,
793 
794  // http://janko.at/Raetsel/Sudoku/306.a.htm
795  // 39
796  ".....D5..7.169.."
797  "..4..2BE8.G..A.."
798  "8DA....752..BGF."
799  "G.9EA.86..3F2..."
800  "C..4G1.....7F..."
801  ".G.A...315.6..C8"
802  "E.5..F7.4G..1.A2"
803  ".91..BE...D.54G."
804  ".68D.3...C5..B9."
805  "4E.5..9B.31..F.G"
806  "3B..E.G1A...C.4."
807  "...95.....F83..7"
808  "...C9G..F1.5D8.B"
809  ".468..DFC....3E5"
810  "..2..E.A7DB..C.."
811  "..EFB.3..86....."
812  ,
813 
814  // http://janko.at/Raetsel/Sudoku/307.a.htm
815  // 40
816  ".BC..32...9..D.."
817  ".3..CB...52A.9E4"
818  "7E.A...D8.6B2..5"
819  "..9F..A.DC7.B6.."
820  ".15..2.E..3...4."
821  "4GD81.3C...7..6F"
822  ".C.9....E.4.G..1"
823  "..E3..59G.FD.B.."
824  "..A.2E.FC9..84.."
825  "B..E.9.4....F.A."
826  "16..A...57.F3E9B"
827  ".9...6..4.E..7G."
828  "..64.C85.2..DA.."
829  "E..DB1.23...6.59"
830  "C5G.9D4...1E..2."
831  "..2..F...DA..CB."
832  ,
833 
834  // http://janko.at/Raetsel/Sudoku/308.a.htm
835  // 41
836  "G.E37..1.....6.."
837  "96..E..3..G5D.F."
838  ".7..64.CF31..29E"
839  "....F...8.9E437."
840  "6AF...D.3..1...."
841  "..1...B5.8F47..3"
842  ".83B2.47.G....61"
843  "..79.6...EC..8.G"
844  "E.C..2A...8.FG.."
845  "25....C.GA.78B4."
846  "7..AD3F.24...E.."
847  "....G..B.1...C52"
848  ".4A2B5.D...8...."
849  "FE8..G2A1.73..C."
850  ".C.78F..4..2..E5"
851  "..9.....E..G34.8"
852  ,
853 
854  // http://janko.at/Raetsel/Sudoku/309.a.htm
855  // 42
856  ".G.4..1E6.9...2."
857  ".D..4G.C.....9F7"
858  "..79.D...5C.B.G."
859  ".EFC7...G..D.5.3"
860  "5...C...E6BFD..."
861  "...1...5..D.CB.2"
862  "7.CG29.D3...E8.F"
863  "94...EGB.2.C...."
864  "....E.2.583...CD"
865  "3.D5...89.FB7G.E"
866  "4.1E.F..A...3..."
867  "...F1B3G...E...9"
868  "F.9.8..1...G23D."
869  ".A.B.4D...7.5F.."
870  "8CE.....1.25..7."
871  ".7...5.3F9..G.8."
872  ,
873 
874  // http://janko.at/Raetsel/Sudoku/310.a.htm
875  // 43
876  "...4.1.9..7...B5"
877  "6E..2.8....CGA.."
878  ".51....B.D....6."
879  "B.9..E..G..A...7"
880  "..7.5F9G..48...."
881  "..29..3..F..5.7."
882  "G.BD...837.E..94"
883  "......7E.1.6A2G3"
884  "94GA7.2.63......"
885  "5B..A.E18...79.2"
886  ".1.8..6..4..BD.."
887  "....G8..EB92.4.."
888  "D...9..A..1..G.6"
889  ".3....4.C....1E."
890  "..4B6....E.7..2A"
891  "F9...5..A.3.4..."
892  ,
893 
894  // http://janko.at/Raetsel/Sudoku/361.a.htm
895  // 44
896  ".G..5.2.E.FA.4C."
897  "AB..G....35.17D9"
898  "53..4AC..DB....."
899  ".6.C3B..2.8.5..."
900  "1...A....E.D9CG3"
901  "GDA9.4..B.1.6E.."
902  ".FB.1..E9....D.8"
903  "C..3.59G48......"
904  "......F38G2.7..4"
905  "6.3....A7..9.8E."
906  "..CE.9.1..4.DG35"
907  "89GD2.4....6...C"
908  "...G.C.4..958.7."
909  ".....1A..F78..42"
910  "4871.3G....2..9A"
911  ".C9.72.8.6.4..1."
912  ,
913 
914  // http://janko.at/Raetsel/Sudoku/362.a.htm
915  // 45
916  "A...18..79..C..6"
917  ".37.A2...FD...E9"
918  "G14D..5...8C.A.."
919  ".268.E7.3A....D5"
920  "3...D1...7A2.8.4"
921  "7CF.9..4....D.2."
922  "5..63.A28...1CF."
923  "...1.6...3FD..5."
924  ".A..FC6...9.3..."
925  ".D2F...3A5.1E..8"
926  ".9.G....D..7.F1C"
927  "E.C.G9D...3F...7"
928  "17....9B.2E.43C."
929  "..9.E3...C..5D7F"
930  "FE...AC...G5.29."
931  "D..C..2F..73...E"
932  ,
933 
934  // http://janko.at/Raetsel/Sudoku/363.a.htm
935  // 46
936  "3.8.BD..5F72E..6"
937  "..G..4.7E..6F5.."
938  ".AF.2..C....9G73"
939  "59C...FE.AG....."
940  "C5..1..F.4.G.E.7"
941  "F..2.C..B13...GD"
942  "4..B73.D....C..."
943  "GD...A...C.7B48."
944  ".G5FD.3...9...BE"
945  "...C....6.E1G..9"
946  "28...7E1..B.6..4"
947  "1.B.5.C.3..8..AF"
948  ".....ED.16...345"
949  "9C21....7..A.8E."
950  "..EA9..3F.8..7.."
951  "6..5827A..4D.F.C"
952  ,
953 
954  // http://janko.at/Raetsel/Sudoku/364.a.htm
955  // 47
956  "1.....6C.4G.9BA."
957  ".G6..F.9A.D1...2"
958  "...D7G.3F...41.."
959  ".3A.2..1.759.E.G"
960  "B8..D.F.C.2.A..."
961  "C....1..DBFA2..5"
962  "..FG.E.....58C9."
963  ".25A3.C.G..E...1"
964  "3...4..B.G.DE78."
965  ".C78A.....3.12.."
966  "5..1FC37..E....9"
967  "...4.2.8.F.B..CA"
968  "A.4.6B7.5..F.9D."
969  "..8C...DB.975..."
970  "9...85.E3.A..46."
971  ".5D7.A9.E2.....8"
972  ,
973 
974  // http://janko.at/Raetsel/Sudoku/365.a.htm
975  // 48
976  "..D.2...5A1....F"
977  "E21F..9..6.D...G"
978  "7A.9G1..2E.4D..8"
979  ".B64.3FA...8.E.2"
980  "...3...F...G2A.."
981  ".F7...5.8D4.B.3."
982  "4....C.....F8.D1"
983  ".G....B3A2.....6"
984  "3.....4CF8....6."
985  "94.B1.....D....E"
986  ".C.A.E8D.B...15."
987  "..G8B...1...C..."
988  "B.A.8...6F2.3DE."
989  "2..16.E5..A39.84"
990  "6...9.3..5..1C2B"
991  "8....D12...9.6.."
992  ,
993 
994  // http://janko.at/Raetsel/Sudoku/366.a.htm
995  // 49
996  "3....2A.4F.6..G1"
997  "ADF4..3..5....E."
998  "..5G..1E....FAB."
999  "..E.GF75..B..93."
1000  "B...17...A629..."
1001  "...EFG..7.516..C"
1002  "63..D...G...E42F"
1003  "2....8639...1G.."
1004  "..B8...76G2....E"
1005  "5C32...4...E..1G"
1006  "G..62E.9..D4B..."
1007  "...D5CG...A3...7"
1008  ".G7..5..84F9.B.."
1009  ".F6B....5E..21.."
1010  ".5....B..6..7EF9"
1011  "E4..A.9F.BC....5"
1012  ,
1013 
1014  // http://janko.at/Raetsel/Sudoku/367.a.htm
1015  // 50
1016  "B........45DC.6A"
1017  "4.F...639.CA.E.."
1018  ".9A...CD26.8F1B."
1019  "6.C3.7.8.F..9..."
1020  "D68.E..B...5...."
1021  "73...8A5..9.2..."
1022  "A.G1..9..26..D8."
1023  ".C9.......81A6E."
1024  ".574FA.......G1."
1025  ".AD..37..G..4F.E"
1026  "...9.G..452...CD"
1027  "....B...F..9.725"
1028  "...B..G.C.F.12.9"
1029  ".16AC.5FG3...8D."
1030  "..2.36.759...C.F"
1031  "F8.C194........6"
1032  ,
1033 
1034  // http://janko.at/Raetsel/Sudoku/368.a.htm
1035  // 51
1036  "C..B61..G...F.AE"
1037  "4E8F...A.....DG."
1038  ".D..F3.E1.5A..6."
1039  "5.....GBE9FC..82"
1040  "..5EB.D8...1.F.6"
1041  "..AD.72...6..3.8"
1042  "...3..E.9FB85..."
1043  "6.B4..1....2CAE."
1044  ".3E9C....G..D1.7"
1045  "...CEG3D.7..A..."
1046  "A.F..B...CD.EG.."
1047  "D.7.1...B2.348.."
1048  "FG..8EB17A.....3"
1049  ".4..D6.G3.CE..5."
1050  ".62.....D...74CA"
1051  "3B.A...4..9F8..G"
1052  ,
1053 
1054  // http://janko.at/Raetsel/Sudoku/369.a.htm
1055  // 52
1056  "...E.6DB...2.8.."
1057  "....5G.3.9F8C1.."
1058  "981....FG....7.."
1059  ".3.F8....65.2..9"
1060  "3G....4A5D..7.F."
1061  ".A.D...2......64"
1062  ".2.4C.F..A.G...3"
1063  "..F.D.....6C.21E"
1064  "1F9.B2.....E.D.."
1065  "4...E.3..B.DF.2."
1066  "5E......9...3.C."
1067  ".D.3..8142....5A"
1068  "2..5.D6....F1.A."
1069  "..4....86....EDG"
1070  "..3CGFB.E.DA...."
1071  "..G.3...279.6..."
1072  ,
1073 
1074  // http://janko.at/Raetsel/Sudoku/370.a.htm
1075  // 53
1076  "3....1G..5.7.A4."
1077  "FE7C.3.9.......G"
1078  ".8.....5D9G.C..3"
1079  "5G.A6....38.FD7."
1080  "...5G.94.8.27C.."
1081  ".98.E.5C.G......"
1082  "4....7.25.CB.6.A"
1083  "2A.F.......6.5G."
1084  ".F3.5.......4.DB"
1085  "C.B.98.AF.7....6"
1086  "......6.2D.C.9E."
1087  "..6G4.B.81.9A..."
1088  ".D53.C8....E6.97"
1089  "A..2.D467.....5."
1090  "8.......4.9.32B1"
1091  ".4F.2.3..61....C"
1092  ,
1093 
1094  // http://janko.at/Raetsel/Sudoku/501.a.htm
1095  // 54
1096  "..E3.7.1.5.6.B.."
1097  "....G85B92.FE..."
1098  "C...4.36A......2"
1099  ".4.BA......G7..C"
1100  "48.2E...5G.9ADB."
1101  ".....B...C4...9E"
1102  "9A..F42.E1...5C."
1103  ".5C.7.9G8....413"
1104  "BE8....26A.C.G3."
1105  ".FD...7E.931..56"
1106  "AC...G6...2....."
1107  ".1369.85...BD.A7"
1108  "E..A6......5C.7."
1109  "3......A7F.E...5"
1110  "...51.G7CDA2...."
1111  "..G.C.B.3.1.9A.."
1112  ,
1113 
1114  // http://janko.at/Raetsel/Sudoku/502.a.htm
1115  // 55
1116  "G..B..12....73.C"
1117  "..8DB.7CG9A....."
1118  "6.3...D...4E.8B."
1119  "4...38G.21....AD"
1120  "..F.........E.6."
1121  ".E6..75DFG3.B..."
1122  ".7.G.F916EB.4583"
1123  ".B.3.E2..89...F1"
1124  "74...3E..62.5.1."
1125  "9852.CB7DFE.3.G."
1126  "...A.56F431..C9."
1127  ".F.6.........E.."
1128  "C1....F4.B5G...E"
1129  ".D4.EG...2...9.8"
1130  ".....D8974.1CA.."
1131  "B.A7....ED..F..4"
1132  ,
1133 
1134  // http://janko.at/Raetsel/Sudoku/503.a.htm
1135  // 56
1136  "7B..9C.3..6.A.2E"
1137  "4.2...67A..53..D"
1138  ".....ADE.CB.4.5."
1139  "AD8....B7.F....."
1140  ".C...1.A.9.....8"
1141  "F.E8...C.4.D.6.2"
1142  "..D.59.......1A."
1143  ".1.2......7FBDC3"
1144  "BF6EC4......2.7."
1145  ".53.......C2.E.."
1146  "D.G.2.A.5...F3.C"
1147  "2.....1.B.3...8."
1148  ".....F.43....CD7"
1149  ".8.G.E7.C25....."
1150  "C..DG..1F7...2.A"
1151  "E7.A.6..9.18..B5"
1152  ,
1153 
1154  // http://janko.at/Raetsel/Sudoku/504.a.htm
1155  // 57
1156  ".21..BD...EF6G.."
1157  "..6.5.F....D.8.E"
1158  "G4.....EB.7.1.D3"
1159  "C.D..37G..61...."
1160  "AB.D8..9.1.E..F."
1161  "6.F4..G..D..8..B"
1162  "....BD.1F.8.7.C9"
1163  "..3...6..G.BED.."
1164  "..B91.C..E...A.."
1165  "47.2.6.A3.1G...."
1166  "8..3..E..B..F1.G"
1167  ".1..7.3.D..C9.25"
1168  "....GF..28B..4.A"
1169  "5A.8.4.B1.....GF"
1170  "D.2.C....F.6.7.."
1171  "..41DA...7G..C9."
1172  ,
1173 
1174  // http://janko.at/Raetsel/Sudoku/505.a.htm
1175  // 58
1176  ".B...7..4D..E13."
1177  "D......6G.E7...F"
1178  "8.6F....B....7.."
1179  "7...91D..F8C.B.."
1180  ".F.G8.1.3..27..."
1181  ".1.6.4329.7.F..D"
1182  "3..7..5..GBD8..."
1183  "48D.CE....A...9."
1184  ".3...G....C4.9EB"
1185  "...148C..3..A..2"
1186  "9..4.6.7FA5.C.G."
1187  "...EF..5.1.B6.D."
1188  "..5.ABG..7F9...6"
1189  "..3....F....18.E"
1190  "G...E5.32......9"
1191  ".6FB..89..3...C."
1192  ,
1193 
1194  // http://janko.at/Raetsel/Sudoku/506.a.htm
1195  // 59
1196  "...FDAE..6.1.3B."
1197  "1..C...9.D34.6.."
1198  "8A3.4.....2E7C.."
1199  "..DG.3......8.5E"
1200  "3F2.C.....8B.5.9"
1201  ".DE.8..B2C..A..4"
1202  "C8...1.........6"
1203  ".....D.31.5...E."
1204  ".G...E.84.D....."
1205  "A.........1...43"
1206  "D..E..17C..2.FG."
1207  "2.5.AF.....9.D7B"
1208  "73.2......6.B4.."
1209  "..483B.....D.A61"
1210  "..A.14F.B...5..C"
1211  ".1C.6.D..24A9..."
1212  ,
1213 
1214  // http://janko.at/Raetsel/Sudoku/507.a.htm
1215  // 60
1216  "4.8CB9G...D..FA2"
1217  "G..18..A96...E.."
1218  "F9....ED..8....B"
1219  "...D73...2F.G.81"
1220  ".......2....C.F9"
1221  "3.D7.E6...9.4..A"
1222  ".C.4..D9.GA..3.7"
1223  ".2.......7.3.65."
1224  ".3B.5.2.......D."
1225  "6.4..G8.FC..B.2."
1226  "E..G.B...D2.18.F"
1227  "CD.2....3......."
1228  "D1.B.8F...C9E..."
1229  "2....D..1B....G5"
1230  "..5...17D..G9..C"
1231  "7E9..C...468FD.3"
1232  ,
1233 
1234  // http://janko.at/Raetsel/Sudoku/508.a.htm
1235  // 61
1236  "D.B.8.4..5G..2.9"
1237  ".C..6.3...D1.7B."
1238  "GE4.B..52A..FD.C"
1239  "..7.2..E.F9....."
1240  ".2..4....3.D9GEF"
1241  "43.7..A..8......"
1242  "5.ABGD.F..1...37"
1243  "..E......7..6B.."
1244  "..2E..G......3.."
1245  "C5...B..D.F971.8"
1246  "......5..2..C.GE"
1247  "348GD.C....7..5."
1248  ".....91.8..F.6.."
1249  "1.G2..F65..E.89B"
1250  ".8C.54...1.G..F."
1251  "F.5..87..9.A.C.1"
1252  ,
1253 
1254  // http://janko.at/Raetsel/Sudoku/509.a.htm
1255  // 62 // problems
1256  "..EF96...8.5B.C."
1257  "D...FE....1.2A.."
1258  ".86..2..C...57.1"
1259  "C21...BD9..E...3"
1260  "5..1.C...6....DA"
1261  ".G.....7.E.1.5BC"
1262  "B...D1..8...7..."
1263  "..9D..A27.3.E..."
1264  "...3.A.E5B..6F.."
1265  "...5...C..83...B"
1266  "FDB.2.9.6.....5."
1267  "61....5...E.G..9"
1268  "4...8..3B7...EA2"
1269  "E.26...A..G..CF."
1270  "..58.D....4F...G"
1271  ".B.7C.2...5AD9.."
1272  ,
1273 
1274  // http://janko.at/Raetsel/Sudoku/510.a.htm
1275  // 63
1276  "..2..DA6.38.14.."
1277  "...5.F..2......."
1278  "6.8.2.G.....7A.B"
1279  "A.F.....65.G..D."
1280  "...6.8E.52...B.."
1281  "7....2.F.G39..8E"
1282  "8..3679..4.C.1.G"
1283  ".B.EG..18.A....7"
1284  "1....A.8C..FG.3."
1285  "E.A.1.3..D42B..5"
1286  "97..CG6.1.B....4"
1287  "..3...2D.E6.A..."
1288  ".C..B.74.....5.A"
1289  "B.68.....C.7.D.F"
1290  ".......A..1.2..."
1291  "..4A.C8.E6G..7.."
1292  ,
1293 
1294  // http://janko.at/Raetsel/Sudoku/511.a.htm
1295  // 64
1296  "A..95.B.G...8.FD"
1297  "G.D...6FB...A5.."
1298  ".B...1D83.A9G.7."
1299  "F68....G5..1...C"
1300  "..28DA9..5FC...G"
1301  "..G.87.2.A4D.6.."
1302  "....3F.....E.CD9"
1303  "9C5D......G.FA8."
1304  ".71B.6......5842"
1305  "D5F.B.....26...."
1306  "..9.127.F.85.D.."
1307  "2...E35..CB719.."
1308  "6...F..BE....734"
1309  ".F.ECD.3479...2."
1310  "..AG...9C1...F.8"
1311  "39.5...1.D.FB..A"
1312  ,
1313 
1314  // http://janko.at/Raetsel/Sudoku/512.a.htm
1315  // 65
1316  "....G5D.C1...B2."
1317  "6...E.BC.G..D8.."
1318  "D13C..7..4..5G.."
1319  ".72B48..5.6.C9.."
1320  "....B9E....F4.12"
1321  "...A..FD7B.C8..3"
1322  "E6F..1....G3.DB9"
1323  "B..4.2.89.1...G."
1324  ".5...7.ED.C.G..8"
1325  "C9D.14....E..A35"
1326  "8..2D.591A..6..."
1327  "7G.36....259...."
1328  "..6D.E.5..B4A27."
1329  "..95..2..8..B3D4"
1330  "..7G..4.6E.5...F"
1331  ".B8...97.C32...."
1332  ,
1333 
1334  // http://janko.at/Raetsel/Sudoku/513.a.htm
1335  // 66
1336  "D...9A..6.F4.3.C"
1337  "....B6..5A.E9D.."
1338  "6E5......D..7F.."
1339  ".3G9..FDC...4..."
1340  "16..AF4..C.7..58"
1341  "G....1..A.B8..F9"
1342  ".7C.3..8...F6..."
1343  "A8.F.G.C43..2..."
1344  "...7..9E3.D.8.4F"
1345  "...8G...9..5.6C."
1346  "59..F3.4..C....G"
1347  "4F..6.D..B7A..2E"
1348  "...D...BE9..G86."
1349  "..2G..3......BE5"
1350  "..E48.6A..2C...."
1351  "3.8.E5.F..AD...4"
1352  ,
1353 
1354  // http://janko.at/Raetsel/Sudoku/514.a.htm
1355  // 67
1356  "...B562E.1G....."
1357  ".D27A...4...56B."
1358  ".G6..B.C..2..E7."
1359  ".1.C..7.DB..3.42"
1360  "....37.2E..G..64"
1361  "D.3..5..C.A8.G.1"
1362  "C..A...F9...D..3"
1363  ".2.FDG8..3.4.5.E"
1364  "2.8.F.4..CEBG.5."
1365  "E..D...G5...C..B"
1366  "1.5.2C.D..9..F.8"
1367  "FC..E..5G.81...."
1368  "A3.5..G8.9..6.E."
1369  ".F4..A..2.1..39."
1370  ".E16...3...C42G."
1371  ".....E1.763AF..."
1372  ,
1373 
1374  // http://janko.at/Raetsel/Sudoku/515.a.htm
1375  // 68
1376  "A.5.FB.C...7..3."
1377  "G38....D.C.EB5.."
1378  "..F...3.9G8..D7."
1379  "...E.2.4.A.59.FG"
1380  "8..A..6.3F7D5..."
1381  "B..4....5...DEA."
1382  "61..BD75..E....."
1383  ".5C.1E.A.8....62"
1384  "C8....E.7.62.GD."
1385  ".....A..D95F..84"
1386  ".D41...6....2..7"
1387  "...928D1.E..3..C"
1388  "57.3E.A.8.9.C..."
1389  ".21..C58.4...F.."
1390  "..6C9.1.2....AEB"
1391  ".A..D...G.1C.4.5"
1392  ,
1393 
1394  // http://janko.at/Raetsel/Sudoku/516.a.htm
1395  // 69
1396  "...E9.5..6.G...F"
1397  ".6.4.3.G...7.1.B"
1398  ".37A.E..49.5C..."
1399  "9....C76.32E.548"
1400  ".E...4..DG9.2..."
1401  ".4...562C...G8.."
1402  ".G93..1B5F.2.C.7"
1403  "C1.639.A.......5"
1404  "D.......2.496.8G"
1405  "6.3.F.9EG5..B2C."
1406  "..AB...86EC...3."
1407  "...9.2C1..B...D."
1408  "7A1.462.3B5....D"
1409  "...D5.89..G.1BA."
1410  "E.5.G...9.6.F.2."
1411  "4...B.E..D.87..."
1412  ,
1413 
1414  // http://janko.at/Raetsel/Sudoku/517.a.htm
1415  // 70
1416  ".FE6.A.8......1."
1417  "145..7.E..F...68"
1418  "...C.4..EG82..5F"
1419  "....5FD.7B1..C.4"
1420  "..4.82A.C..1B..."
1421  ".8C7..5....AD24G"
1422  "..1F..9.G83BA..."
1423  "..A9F.E6D.....71"
1424  "F9.....53C.718.."
1425  "...321CD.6..74.."
1426  "A1726....4..GFC."
1427  "...49..F.1A8.E.."
1428  "D.F..62B.593...."
1429  "4B..D83A..2.5..."
1430  "87...5..B.4..936"
1431  ".6......8.7.CBD."
1432  ,
1433 
1434  // http://janko.at/Raetsel/Sudoku/518.a.htm
1435  // 71
1436  "...84......D.1F7"
1437  ".6.C..A.4G.....9"
1438  "..945.G.8.F..3A."
1439  "...7CFD2.3...E.G"
1440  "..6B..58..G....."
1441  "8.7..G.C9.4A1..E"
1442  "C..EA3.9...5.GD."
1443  ".F...2.....B3.8A"
1444  "AB.6F.....C...9."
1445  ".7E.B...5.16G..3"
1446  "1..G79.3A.D..C.5"
1447  ".....1..7E..AB.."
1448  "3.4...8.E792B..."
1449  ".E8..D.B.A.359.."
1450  "5.....1A.D..E.3."
1451  "69D.2......C7..."
1452  ,
1453 
1454  // http://janko.at/Raetsel/Sudoku/519.a.htm
1455  // 72// problems
1456  "CD.E9.8......6.."
1457  ".62..3...E..85.7"
1458  ".G...6...AF5...D"
1459  "....D54.39.8...E"
1460  "6FB..ED4...G.1.."
1461  "4.A.5..2D......G"
1462  ".C.1...GF53A2..6"
1463  ".2.3.A.1....F..."
1464  "...2....4.B.9.6."
1465  "3..6G8E95...4.2."
1466  "G......D9..3.F.8"
1467  "..4.2...68A..GC3"
1468  "A...1.3E.D9C...."
1469  "E...49C...5...1."
1470  "2.9D..A...8..3F."
1471  "..8......2.7A.E5"
1472  ,
1473 
1474  // http://janko.at/Raetsel/Sudoku/520.a.htm
1475  // 73
1476  "D..6..1.2C3....8"
1477  "..1..386..5..9.."
1478  ".8C2......DGBF1."
1479  "..5.G......1.A.D"
1480  "..A876..4..C5..."
1481  "64F...AD.2.5..C."
1482  "E....1B9.6A...24"
1483  "B...4....8G...7."
1484  ".7...BD....6...9"
1485  "FG...C9.1D4....A"
1486  ".5..E.6.G7...1DC"
1487  "...BF..G..2A37.."
1488  "5.8.6......D.3.."
1489  ".E2D5A......7CF."
1490  "..7..9..A51..4.."
1491  "9....DC1.4..E..5"
1492  ,
1493 
1494  // http://janko.at/Raetsel/Sudoku/586.a.htm
1495  // 74
1496  "8D...6E...A2...."
1497  "E9.6....4..D.537"
1498  "..539C.2..7.A4.."
1499  "..B2G..5......6D"
1500  ".F....G9CB84...."
1501  "21.D.F5..7.EB.G6"
1502  "983..47.65...A.2"
1503  ".7.C6....A..3954"
1504  "C698..1....54.7."
1505  "F.A...46.82..D9G"
1506  "42.5B.C..3G.6.8F"
1507  "....5E28F9....A."
1508  "7B......G..1C3.."
1509  "..F4.5..B.3AG6.."
1510  "35E.C..A....7.49"
1511  "....D1...FC...25"
1512  ,
1513 
1514  // http://janko.at/Raetsel/Sudoku/587.a.htm
1515  // 75
1516  "6D.5F.B83..7...."
1517  ".F.761...854.A.."
1518  "39.8.D..B..EF.6."
1519  "..E.3.956F...CB1"
1520  "F65......GBA...2"
1521  "...3.6C7D9...8.B"
1522  "..DE..82F.7...5."
1523  "B.7.DF....3.619."
1524  ".A9B.5....81.F.6"
1525  ".3...E.BG5..12.."
1526  "C.G...DF7B9.A..."
1527  "5...1C6......B84"
1528  "7E6...F91A.B.3.."
1529  ".5.9A..D..6.B.2E"
1530  "..A.BG5...F97.1."
1531  "....2..65E.8C.AF"
1532  ,
1533 
1534  // http://janko.at/Raetsel/Sudoku/588.a.htm
1535  // 76
1536  "F.....8.43..BGD6"
1537  "6E..G29....C3.7."
1538  "2.1..D7.5.E..C.."
1539  "89.4...C7.612..."
1540  ".1.F..DAEB5...8."
1541  "..6AF34...D..E1."
1542  "E...B..5..8G.493"
1543  "7.892....4.3D..."
1544  "...1E.A....F63.C"
1545  "D6E.89..G..5...1"
1546  ".G3..F...91E78.."
1547  ".F...1GB36..E.A."
1548  "...87G.6C...4.FA"
1549  "..7..8.1.FB..6.2"
1550  ".D.GA....134..CE"
1551  "C2A6..F3.5.....D"
1552  ,
1553 
1554  // http://janko.at/Raetsel/Sudoku/589.a.htm
1555  // 77
1556  "...439.27..5..G."
1557  "5C67...A93...2D."
1558  ".3B...1D...2.78."
1559  "...2.G7.8EA.3.5F"
1560  "E.C.A23....D...7"
1561  "...D.B..G7F81..6"
1562  ".G.1.68.2A.ECD.."
1563  "F8.6.4G......AE5"
1564  "643......DB.F.2E"
1565  "..586.4C.F2.D.B."
1566  "B..F8A2G..3.7..."
1567  "7...E....894.C.A"
1568  "D7.3.1B4.CE.9..."
1569  ".F4.9...B2...6C."
1570  ".BG...67D...4E13"
1571  ".6..F..31.4AB..."
1572  ,
1573 
1574  // http://janko.at/Raetsel/Sudoku/590.a.htm
1575  // 78
1576  ".1B.....2.59F.6G"
1577  "G.2341A...BF...."
1578  "C.E8....3..D.24."
1579  "F....9E..1...B38"
1580  "..1.F45.6.3.2..9"
1581  "3..E.8C.5D..1..."
1582  "....DB..A8...FE3"
1583  ".4.93.1.E..G.8D."
1584  ".GF.C..7.5.69.8."
1585  "BDC...F1..A8...."
1586  "...5..94.21.G..C"
1587  "E..1.5.8.FC3.D.."
1588  "1B4...8..92....6"
1589  ".A8.9..C....45.B"
1590  "....12...6853A.F"
1591  "5C.27A.B.....91."
1592  ,
1593 
1594  // http://janko.at/Raetsel/Sudoku/591.a.htm
1595  // 79
1596  "A57...8E4......9"
1597  ".4C85.6....9.E3B"
1598  ".E1...3G657..AC8"
1599  "...F.1.9.8EA5.7."
1600  ".8.5.7...4F...2."
1601  "..9316....BG8..."
1602  "..E2A..4.....D97"
1603  "F.4....856..G1.3"
1604  "6.84..ECB....F.5"
1605  "5FA.....C..637.."
1606  "...7F4....1528.."
1607  ".2...35...8.C.1."
1608  ".9.13E2.8.4.A..."
1609  "BD2..G4FAC...98."
1610  "8G5.C....D.EF3B."
1611  "4......57B...2G6"
1612  ,
1613 
1614  // http://janko.at/Raetsel/Sudoku/592.a.htm
1615  // 80
1616  "..8.A.F.B97.1.6."
1617  "1B79...6.....8E."
1618  "..E3..928...D.5."
1619  "26..8.B....17..."
1620  "91..6A2..B3..D.."
1621  ".F..37.52.GD.4.."
1622  "3.679...5.EF...A"
1623  "4.B..FC..16...G5"
1624  "73...8A..5D..F.1"
1625  "5...FC.3...98G.E"
1626  "..F.D5.13.A8..B."
1627  "..A..B6..2FG..7D"
1628  "...6B....E.2..1C"
1629  ".4.F...A1D..GE.."
1630  ".A2.....G...4638"
1631  ".7.G.28F.6.3.A.."
1632  ,
1633 
1634  // http://janko.at/Raetsel/Sudoku/593.a.htm
1635  // 81
1636  ".2ED.4...C...F.."
1637  ".8.FE.6.1.....A4"
1638  "A..7.8F.29.B...C"
1639  "....3GCB...5.87D"
1640  "..45DA..B7F3C.6."
1641  "....G...4..CA2.5"
1642  "2.7.F..CG...34B."
1643  ".ED.B54381..G..."
1644  "...4..825GBE.3F."
1645  ".B5G...63..F.C.1"
1646  "1.F27..E...4...."
1647  ".D.84FG5..167B.."
1648  "3C1.2...DB8G...."
1649  "D...6.59.F3.8..2"
1650  "4G.....F.A.71.C."
1651  "..8...B...9.ED3."
1652  ,
1653 
1654  // http://janko.at/Raetsel/Sudoku/594.a.htm
1655  // 82
1656  "5....E...7B..CF2"
1657  "AF.467....3...D."
1658  "D.E.C.3....8.7.."
1659  "....8..DA6.E..5."
1660  "..3B....4.A.EF1."
1661  "69..B.D.3.....C7"
1662  "1..G...49.C..6.."
1663  "...D12G5FE..B..."
1664  "...7..93285AF..."
1665  "..8..4.76...2..G"
1666  "96.....F.3.B..84"
1667  ".AB3.G.6....95.."
1668  ".1..F.69E..2...."
1669  "..9.G....F.3.2.E"
1670  ".E...D....95G.BF"
1671  "2G7..C5...4....3"
1672  ,
1673 
1674  // http://janko.at/Raetsel/Sudoku/595.a.htm
1675  // 83
1676  ".3.B8..C61...2.."
1677  ".E.2...F..4.1A67"
1678  "71D...A...C..B.."
1679  ".6...92D.B.3..45"
1680  "...8A...C.F4...3"
1681  ".F9.75E4..B.6..."
1682  "5..1...8..6.4F.."
1683  "4...C....EA.B.2G"
1684  "2D.7.E5....6...1"
1685  "..BA.D..9...G..8"
1686  "...E.1..G2DF.59."
1687  "6...4C.B...73..."
1688  "A2..B.C.46E...7."
1689  "..1..2...9...8AD"
1690  "DC75.A..3...E.B."
1691  "..8...GEA..C2.5."
1692  ,
1693 
1694  // http://janko.at/Raetsel/Sudoku/596.a.htm
1695  // 84
1696  "B62...9...1...G7"
1697  "C.....7.6..A.1.9"
1698  ".1....A8..7.2..3"
1699  "..A831.CG2..E..."
1700  ".8..92.A..GD4..."
1701  "G.C.D8..F.529..."
1702  "...4.........D6A"
1703  ".5.B.C.17..3G8.."
1704  "..E12..9D.B.6.8."
1705  "9C7.........5..."
1706  "...A54.7..2C.F.G"
1707  "...FCD..4.A5..9."
1708  "...9..1E2.F83C.."
1709  "1..7.9..A3....D."
1710  "2.3.8..B.5.....6"
1711  "EB...3...7...G12"
1712  ,
1713 
1714  // http://janko.at/Raetsel/Sudoku/597.a.htm
1715  // 85
1716  "..6..1..4..F3.A."
1717  "7E..6G.3....FC.."
1718  "BC3..FD.6.9.G..2"
1719  ".....4E.CG3.B..."
1720  "1.E..C.....2.A.."
1721  "...AE6...4F..9.3"
1722  ".8.2..3F.C.1...."
1723  "34..8...B57..EC."
1724  ".B9..3CD...8..E5"
1725  "....9.F.GA..4.1."
1726  "A.4..E2...6BC..."
1727  "..8.A.....E..7.B"
1728  "...C.2A6.EB....."
1729  "E..8.9.5.3C..62G"
1730  "..B9....2.GD..5C"
1731  ".3.5C..E..1..4.."
1732  ,
1733 
1734  // http://janko.at/Raetsel/Sudoku/598.a.htm
1735  // 86
1736  ".FA..5...B7..E.6"
1737  "18....4B...C..G."
1738  "..G.7..CF....8.5"
1739  ".B9CG8.........."
1740  ".D..A.G..85....E"
1741  "69..3...1...C5.."
1742  "7.4B....G.A.2..F"
1743  "..8.5B6D..27...."
1744  "....8G..EC61.D.."
1745  "3..6.C.7....91.8"
1746  "..DF...5...9..73"
1747  "8....6B..2.5..E."
1748  "..........14EFD."
1749  "9.6....AD..F.7.."
1750  ".E..6...29....1C"
1751  "G.2..EF...C..4B."
1752  ,
1753 
1754  // http://janko.at/Raetsel/Sudoku/599.a.htm
1755  // 87
1756  ".3..6GF..C8....."
1757  "G..9.B.8...5.A74"
1758  "7..8.2..B..D...."
1759  ".EA.....3.6..9B."
1760  "..F.2....3AG...."
1761  "E7...........39G"
1762  ".9.A..31E6..FC.."
1763  "4.3..D.9C.B....E"
1764  "6....8.4A.2..G.C"
1765  "..G3..CFD9..4.A."
1766  "A85...........FB"
1767  "....5A7....6.2.."
1768  ".24..7.D.....16."
1769  "....1..3..C.2..8"
1770  "1A7.C...6.3.E..9"
1771  ".....6E..1F2..3."
1772  ,
1773 
1774  // http://janko.at/Raetsel/Sudoku/600.a.htm
1775  // 88
1776  "....47.....9B.1."
1777  "..5..9F2.6....43"
1778  "B..3.....E24..9."
1779  "..9.....A57..2.."
1780  ".DA4E..7...C.F.."
1781  ".1.6..4.E....8.B"
1782  "....81BF..4.5..7"
1783  "...F9A....D..E.4"
1784  "5.2..3....A71..."
1785  "6..C.B..G9FE...."
1786  "7.8....9.D..C.3."
1787  "..G.6...1..3E45."
1788  "..F..E8D.....A.."
1789  ".2..741.....3..8"
1790  "D6....5.92B..1.."
1791  ".A.EB.....C6....",
1792  // 89
1793  //".N..JG..O7591...8I....L.."
1794  "BNDAJG62O7591KHF8IP34CLME"
1795  "FG.M.B8...P.E...CJ..H...."
1796  "...........G.4.H.D.O.NJA2"
1797  ".....J.EN4.L6MA.B.2......"
1798  "HE..2..DC.....F4KMA.B.9O8"
1799  "M....62...47C19......E5.."
1800  ".I2.8M.JGL...ADN..K..3.F7"
1801  "..H3.5..89....I.J.....NL."
1802  "1B..9.FAP.6.N....537.H..O"
1803  "......1..N...O...LC.68.PG"
1804  "KOA.FNBH.....7.C.....M..6"
1805  "45.ECP.I..N.F.J1...MK.79."
1806  "I.L..8.O..9.P...A...2.1J."
1807  "..621.D.M.....B8LG..P..CH"
1808  ".HP.N7E.L1....3..B..O.G45"
1809  "....BIO....5.C.P...FN48E."
1810  "...FL.....2.DH..17..59O.."
1811  "..I.MF..2G.N...A6O.HC.PB."
1812  "72.1..L...IM.96E.45G....."
1813  "..9...7M..A.O...I...L...."
1814  ".C.JA.........1.....E.48."
1815  "O.BI.......PHL.6..1....5C"
1816  "G6M...N4FI8...K..H.E....."
1817  ".L..4.917....BE.G8F.M.I.."
1818  "8F......5.O3..4...9.....K",
1819  // 90
1820  //".N..JG..O7591...8I....L.."
1821  ".ND.JG6.O7591..F8IP.4.LM."
1822  "FG.M.B8...P.E...CJ..H...."
1823  "...........G.4.H.D.O.NJA2"
1824  ".....J.EN4.L6MA.B.2......"
1825  "HE..2..DC.....F4KMA.B.9O8"
1826  "M....62...47C19......E5.."
1827  ".I2.8M.JGL...ADN..K..3.F7"
1828  "..H3.5..89....I.J.....NL."
1829  "1B..9.FAP.6.N....537.H..O"
1830  "......1..N...O...LC.68.PG"
1831  "KOA.FNBH.....7.C.....M..6"
1832  "45.ECP.I..N.F.J1...MK.79."
1833  "I.L..8.O..9.P...A...2.1J."
1834  "..621.D.M.....B8LG..P..CH"
1835  ".HP.N7E.L1....3..B..O.G45"
1836  "....BIO....5.C.P...FN48E."
1837  "...FL.....2.DH..17..59O.."
1838  "..I.MF..2G.N...A6O.HC.PB."
1839  "72.1..L...IM.96E.45G....."
1840  "..9...7M..A.O...I...L...."
1841  ".C.JA.........1.....E.48."
1842  "O.BI.......PHL.6..1....5C"
1843  "G6M...N4FI8...K..H.E....."
1844  ".L..4.917....BE.G8F.M.I.."
1845  "8F......5.O3..4...9.....K"
1846  };
1847 
1849  const unsigned int n_examples = sizeof(examples)/sizeof(char*);
1850 
1852  int example_size(const char *s) {
1853  int l = std::strlen(s);
1854  int res = static_cast<int>(std::sqrt(std::sqrt(static_cast<float>(l))));
1855  assert(res*res*res*res == l);
1856  return res;
1857  }
1858 
1860  int sudokuField(const char *s, int n, int i, int j) {
1861  assert(example_size(s) == std::sqrt(static_cast<float>(n)));
1862  assert(i >= 0 && i < n);
1863  assert(j >= 0 && j < n);
1864  char c = s[j*n + i];
1865  if (!std::isalnum(c))
1866  return 0;
1867  if (std::isdigit(c))
1868  return c - '0';
1869  if (std::islower(c))
1870  c = static_cast<char>(std::toupper(c));
1871  // std::alpha(c) == true && std::isupper(c)
1872  int res = (c - 'A') + 10;
1873  if (res > n) return 0;
1874  else return res;
1875  }
1877 }
1878 
1879 // STATISTICS: example-any
const unsigned int n_examples
The number of examples.
Definition: bacp.cpp:574
const int * examples[]
Array of all examples.
Definition: kakuro.cpp:361
void sqrt(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
Definition: arithmetic.cpp:102
int example_size(const char *s)
The size of an instance.
NNF * l
Left subtree.
Definition: bool-expr.cpp:240
Gecode::FloatVal c(-8, 8)
int sudokuField(const char *s, int n, int i, int j)
Return value at position (i,j) in the example s of size n.
int n
Number of negative literals for node type.
Definition: bool-expr.cpp:234
Gecode::IntArgs i({1, 2, 3, 4})