Generated on Wed Jan 4 17:49:07 2006 for Gecode by doxygen 1.4.6

sudoku.icc

Go to the documentation of this file.
00001 /*
00002  *  Main authors:
00003  *     Christian Schulte <schulte@gecode.org>
00004  *
00005  *  Copyright:
00006  *     Christian Schulte, 2005
00007  *
00008  *  Last modified:
00009  *     $Date: 2005-10-20 15:28:46 +0200 (Thu, 20 Oct 2005) $ by $Author: zayenz $
00010  *     $Revision: 2391 $
00011  *
00012  *  This file is part of Gecode, the generic constraint
00013  *  development environment:
00014  *     http://www.gecode.org
00015  *
00016  *  See the file "LICENSE" for information on usage and
00017  *  redistribution of this file, and for a
00018  *     DISCLAIMER OF ALL WARRANTIES.
00019  *
00020  */
00021 
00030 const int examples[][9][9] = {
00031   {
00032     {0,0,0, 2,0,5, 0,0,0},
00033     {0,9,0, 0,0,0, 7,3,0},
00034     {0,0,2, 0,0,9, 0,6,0},
00035     
00036     {2,0,0, 0,0,0, 4,0,9},
00037     {0,0,0, 0,7,0, 0,0,0},
00038     {6,0,9, 0,0,0, 0,0,1},
00039     
00040     {0,8,0, 4,0,0, 1,0,0},
00041     {0,6,3, 0,0,0, 0,8,0},
00042     {0,0,0, 6,0,8, 0,0,0}
00043   },{
00044     {3,0,0, 9,0,4, 0,0,1},
00045     {0,0,2, 0,0,0, 4,0,0},
00046     {0,6,1, 0,0,0, 7,9,0},
00047 
00048     {6,0,0, 2,4,7, 0,0,5},
00049     {0,0,0, 0,0,0, 0,0,0},
00050     {2,0,0, 8,3,6, 0,0,4},
00051     
00052     {0,4,6, 0,0,0, 2,3,0},
00053     {0,0,9, 0,0,0, 6,0,0},
00054     {5,0,0, 3,0,9, 0,0,8}
00055   },{
00056     {0,0,0, 0,1,0, 0,0,0},
00057     {3,0,1, 4,0,0, 8,6,0},
00058     {9,0,0, 5,0,0, 2,0,0},
00059     
00060     {7,0,0, 1,6,0, 0,0,0},
00061     {0,2,0, 8,0,5, 0,1,0},
00062     {0,0,0, 0,9,7, 0,0,4},
00063     
00064     {0,0,3, 0,0,4, 0,0,6},
00065     {0,4,8, 0,0,6, 9,0,7},
00066     {0,0,0, 0,8,0, 0,0,0}
00067   },{
00068     // Fiendish puzzle April 21, 2005 Times London
00069     {0,0,4, 0,0,3, 0,7,0},
00070     {0,8,0, 0,7,0, 0,0,0},
00071     {0,7,0, 0,0,8, 2,0,5},
00072     
00073     {4,0,0, 0,0,0, 3,1,0},
00074     {9,0,0, 0,0,0, 0,0,8},
00075     {0,1,5, 0,0,0, 0,0,4},
00076     
00077     {1,0,6, 9,0,0, 0,3,0},
00078     {0,0,0, 0,2,0, 0,6,0},
00079     {0,2,0, 4,0,0, 5,0,0}
00080   },{
00081     // This one requires search
00082     {0,4,3, 0,8,0, 2,5,0},
00083     {6,0,0, 0,0,0, 0,0,0},
00084     {0,0,0, 0,0,1, 0,9,4},
00085     
00086     {9,0,0, 0,0,4, 0,7,0},
00087     {0,0,0, 6,0,8, 0,0,0},
00088     {0,1,0, 2,0,0, 0,0,3},
00089     
00090     {8,2,0, 5,0,0, 0,0,0},
00091     {0,0,0, 0,0,0, 0,0,5},
00092     {0,3,4, 0,9,0, 7,1,0}
00093   },{
00094     // Hard one from http://www.cs.mu.oz.au/671/proj3/node5.html
00095     {0,0,0, 0,0,3, 0,6,0},
00096     {0,0,0, 0,0,0, 0,1,0},
00097     {0,9,7, 5,0,0, 0,8,0},
00098 
00099     {0,0,0, 0,9,0, 2,0,0},
00100     {0,0,8, 0,7,0, 4,0,0},
00101     {0,0,3, 0,6,0, 0,0,0},
00102 
00103     {0,1,0, 0,0,2, 8,9,0},
00104     {0,4,0, 0,0,0, 0,0,0},
00105     {0,5,0, 1,0,0, 0,0,0}
00106   },{ // Puzzle 1 from http://www.sudoku.org.uk/bifurcation.htm
00107     {1,0,0, 9,0,7, 0,0,3},
00108     {0,8,0, 0,0,0, 0,7,0},
00109     {0,0,9, 0,0,0, 6,0,0},
00110     {0,0,7, 2,0,9, 4,0,0},
00111     {4,1,0, 0,0,0, 0,9,5},
00112     {0,0,8, 5,0,4, 3,0,0},
00113     {0,0,3, 0,0,0, 7,0,0},
00114     {0,5,0, 0,0,0, 0,4,0},
00115     {2,0,0, 8,0,6, 0,0,9}
00116   },{ // Puzzle 2 from http://www.sudoku.org.uk/bifurcation.htm
00117     {0,0,0, 3,0,2, 0,0,0},
00118     {0,5,0, 7,9,8, 0,3,0},
00119     {0,0,7, 0,0,0, 8,0,0},
00120     {0,0,8, 6,0,7, 3,0,0},
00121     {0,7,0, 0,0,0, 0,6,0},
00122     {0,0,3, 5,0,4, 1,0,0},
00123     {0,0,5, 0,0,0, 6,0,0},
00124     {0,2,0, 4,1,9, 0,5,0},
00125     {0,0,0, 8,0,6, 0,0,0}
00126   },{ // Puzzle 3 from http://www.sudoku.org.uk/bifurcation.htm
00127     {0,0,0, 8,0,0, 0,0,6},
00128     {0,0,1, 6,2,0, 4,3,0},
00129     {4,0,0, 0,7,1, 0,0,2},
00130     {0,0,7, 2,0,0, 0,8,0},
00131     {0,0,0, 0,1,0, 0,0,0},
00132     {0,1,0, 0,0,6, 2,0,0},
00133     {1,0,0, 7,3,0, 0,0,4},
00134     {0,2,6, 0,4,8, 1,0,0},
00135     {3,0,0, 0,0,5, 0,0,0}
00136   },{ // Puzzle 4 from http://www.sudoku.org.uk/bifurcation.htm
00137     {3,0,5, 0,0,4, 0,7,0},
00138     {0,7,0, 0,0,0, 0,0,1},
00139     {0,4,0, 9,0,0, 0,3,0},
00140     {4,0,0, 0,5,1, 0,0,6},
00141     {0,9,0, 0,0,0, 0,4,0},
00142     {2,0,0, 8,4,0, 0,0,7},
00143     {0,2,0, 0,0,7, 0,6,0},
00144     {8,0,0, 0,0,0, 0,9,0},
00145     {0,6,0, 4,0,0, 2,0,8}
00146   },{ // Puzzle 5 from http://www.sudoku.org.uk/bifurcation.htm
00147     {0,0,0, 7,0,0, 3,0,0},
00148     {0,6,0, 0,0,0, 5,7,0},
00149     {0,7,3, 8,0,0, 4,1,0},
00150     {0,0,9, 2,8,0, 0,0,0},
00151     {5,0,0, 0,0,0, 0,0,9},
00152     {0,0,0, 0,9,3, 6,0,0},
00153     {0,9,8, 0,0,7, 1,5,0},
00154     {0,5,4, 0,0,0, 0,6,0},
00155     {0,0,1, 0,0,9, 0,0,0}
00156   },{ // Puzzle 6 from http://www.sudoku.org.uk/bifurcation.htm
00157     {0,0,0, 6,0,0, 0,0,4},
00158     {0,3,0, 0,9,0, 0,2,0},
00159     {0,6,0, 8,0,0, 7,0,0},
00160     {0,0,5, 0,6,0, 0,0,1},
00161     {6,7,0, 3,0,1, 0,5,8},
00162     {9,0,0, 0,5,0, 4,0,0},
00163     {0,0,6, 0,0,3, 0,9,0},
00164     {0,1,0, 0,8,0, 0,6,0},
00165     {2,0,0, 0,0,6, 0,0,0}
00166   },{ // Puzzle 7 from http://www.sudoku.org.uk/bifurcation.htm
00167     {8,0,0, 0,0,1, 0,4,0},
00168     {2,0,6, 0,9,0, 0,1,0},
00169     {0,0,9, 0,0,6, 0,8,0},
00170     {1,2,4, 0,0,0, 0,0,9},
00171     {0,0,0, 0,0,0, 0,0,0},
00172     {9,0,0, 0,0,0, 8,2,4},
00173     {0,5,0, 4,0,0, 1,0,0},
00174     {0,8,0, 0,7,0, 2,0,5},
00175     {0,9,0, 5,0,0, 0,0,7}
00176   },{ // Puzzle 8 from http://www.sudoku.org.uk/bifurcation.htm
00177     {6,5,2, 0,4,8, 0,0,7},
00178     {0,7,0, 2,0,5, 4,0,0},
00179     {0,0,0, 0,0,0, 0,0,0},
00180     {0,6,4, 1,0,0, 0,7,0},
00181     {0,0,0, 0,8,0, 0,0,0},
00182     {0,8,0, 0,0,4, 5,6,0},
00183     {0,0,0, 0,0,0, 0,0,0},
00184     {0,0,8, 6,0,7, 0,2,0},
00185     {2,0,0, 8,9,0, 7,5,1}
00186   },{ // Puzzle 9 from http://www.sudoku.org.uk/bifurcation.htm
00187     {0,0,6, 0,0,2, 0,0,9},
00188     {1,0,0, 5,0,0, 0,2,0},
00189     {0,4,7, 3,0,6, 0,0,1},
00190     {0,0,0, 0,0,8, 0,4,0},
00191     {0,3,0, 0,0,0, 0,7,0},
00192     {0,1,0, 6,0,0, 0,0,0},
00193     {4,0,0, 8,0,3, 2,1,0},
00194     {0,6,0, 0,0,1, 0,0,4},
00195     {3,0,0, 4,0,0, 9,0,0}
00196   },{ // Puzzle 10 from http://www.sudoku.org.uk/bifurcation.htm
00197     {0,0,4, 0,5,0, 9,0,0},
00198     {0,0,0, 0,7,0, 0,0,6},
00199     {3,7,0, 0,0,0, 0,0,2},
00200     {0,0,9, 5,0,0, 0,8,0},
00201     {0,0,1, 2,0,4, 3,0,0},
00202     {0,6,0, 0,0,9, 2,0,0},
00203     {2,0,0, 0,0,0, 0,9,3},
00204     {1,0,0, 0,4,0, 0,0,0},
00205     {0,0,6, 0,2,0, 7,0,0}
00206   },{ // Puzzle 11 from http://www.sudoku.org.uk/bifurcation.htm
00207     {0,0,0, 0,3,0, 7,9,0},
00208     {3,0,0, 0,0,0, 0,0,5},
00209     {0,0,0, 4,0,7, 3,0,6},
00210     {0,5,3, 0,9,4, 0,7,0},
00211     {0,0,0, 0,7,0, 0,0,0},
00212     {0,1,0, 8,2,0, 6,4,0},
00213     {7,0,1, 9,0,8, 0,0,0},
00214     {8,0,0, 0,0,0, 0,0,1},
00215     {0,9,4, 0,1,0, 0,0,0}
00216   },{ // From http://www.sudoku.org.uk/discus/messages/29/51.html?1131034031
00217     {2,5,8, 1,0,4, 0,3,7},
00218     {9,3,6, 8,2,7, 5,1,4},
00219     {4,7,1, 5,3,0, 2,8,0},
00220 
00221     {7,1,5, 2,0,3, 0,4,0},
00222     {8,4,9, 6,7,5, 3,2,1},
00223     {3,6,2, 4,1,0, 0,7,5},
00224 
00225     {1,2,4, 9,0,0, 7,5,3},
00226     {5,9,3, 7,4,2, 1,6,8},
00227     {6,8,7, 3,5,1, 4,9,2}
00228   }
00229 };
00230 
00231 const unsigned int n_examples = sizeof(examples)/sizeof(int[9][9]);
00233 
00234 // STATISTICS: example-any