this repo has no description
at develop 45 kB view raw
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 38namespace { 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 44 /** \name %Sudoku specifications 45 * 46 * Each specification gives the initial positions that are filled in, 47 * with blank squares represented as zeroes. 48 * 49 * \relates Sudoku 50 */ 51 //@{ 52 53 /// The specifications 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 1848 /// The number of instances 1849 const unsigned int n_examples = sizeof(examples)/sizeof(char*); 1850 1851 /// The size of an instance 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 1859 /// Return value at position (\a i,\a j) in the example \a s of size \a n 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 } 1876 //@} 1877} 1878 1879// STATISTICS: example-any