| 80 <a class="c2html-lineno" name="l32" href="#l32"> 32 </a><span class="c2html-comment">/**</span> |
80 <a class="c2html-lineno" name="l32" href="#l32"> 32 </a><span class="c2html-comment">/**</span> |
| 81 <a class="c2html-lineno" name="l33" href="#l33"> 33 </a><span class="c2html-comment"> * Implements the backtracking algorithm for solving the Sudoku.</span> |
81 <a class="c2html-lineno" name="l33" href="#l33"> 33 </a><span class="c2html-comment"> * Implements the backtracking algorithm for solving the Sudoku.</span> |
| 82 <a class="c2html-lineno" name="l34" href="#l34"> 34 </a><span class="c2html-comment"> */</span> |
82 <a class="c2html-lineno" name="l34" href="#l34"> 34 </a><span class="c2html-comment"> */</span> |
| 83 <a class="c2html-lineno" name="l35" href="#l35"> 35 </a><span class="c2html-keyword">public</span> <span class="c2html-keyword">final</span> <span class="c2html-keyword">class</span> <span class="c2html-type">Solver</span> { |
83 <a class="c2html-lineno" name="l35" href="#l35"> 35 </a><span class="c2html-keyword">public</span> <span class="c2html-keyword">final</span> <span class="c2html-keyword">class</span> <span class="c2html-type">Solver</span> { |
| 84 <a class="c2html-lineno" name="l36" href="#l36"> 36 </a> |
84 <a class="c2html-lineno" name="l36" href="#l36"> 36 </a> |
| 85 <a class="c2html-lineno" name="l37" href="#l37"> 37 </a> <span class="c2html-keyword">public</span> <span class="c2html-keyword">static</span> <span class="c2html-keyword">final</span> <span class="c2html-keyword">int</span> <span class="c2html-type">VERSION</span> = <span class="c2html-number">0x1000</span>; |
85 <a class="c2html-lineno" name="l37" href="#l37"> 37 </a> <span class="c2html-keyword">public</span> <span class="c2html-keyword">static</span> <span class="c2html-keyword">final</span> <span class="c2html-keyword">int</span> <span class="c2html-macroconst">VERSION</span> = <span class="c2html-number">0x1000</span>; |
| 86 <a class="c2html-lineno" name="l38" href="#l38"> 38 </a> |
86 <a class="c2html-lineno" name="l38" href="#l38"> 38 </a> |
| 87 <a class="c2html-lineno" name="l39" href="#l39"> 39 </a> <span class="c2html-keyword">private</span> <span class="c2html-type">Integer</span> fillInCandidate(<span class="c2html-type">Field</span> f, <span class="c2html-type">List</span><<span class="c2html-type">Integer</span>>[][] candidates, <span class="c2html-keyword">int</span> x, <span class="c2html-keyword">int</span> y) { |
87 <a class="c2html-lineno" name="l39" href="#l39"> 39 </a> <span class="c2html-keyword">private</span> <span class="c2html-type">Integer</span> fillInCandidate(<span class="c2html-type">Field</span> f, <span class="c2html-type">List</span><<span class="c2html-type">Integer</span>>[][] candidates, <span class="c2html-keyword">int</span> x, <span class="c2html-keyword">int</span> y) { |
| 88 <a class="c2html-lineno" name="l40" href="#l40"> 40 </a> <span class="c2html-type">Integer</span> c = candidates[x][y].remove(<span class="c2html-number">0</span>); |
88 <a class="c2html-lineno" name="l40" href="#l40"> 40 </a> <span class="c2html-type">Integer</span> c = candidates[x][y].remove(<span class="c2html-number">0</span>); |
| 89 <a class="c2html-lineno" name="l41" href="#l41"> 41 </a> f.setCellValue(x, y, c); |
89 <a class="c2html-lineno" name="l41" href="#l41"> 41 </a> f.setCellValue(x, y, c); |
| 90 <a class="c2html-lineno" name="l42" href="#l42"> 42 </a> f.setCellModified(x, y, true); |
90 <a class="c2html-lineno" name="l42" href="#l42"> 42 </a> f.setCellModified(x, y, true); |