Sudoku: Difference between revisions

204 bytes removed ,  2 years ago
m
Line 1,868:
var (r, c) = cells[idx];
if (grid[r][c] != 0)
return grid.Solve(cells,idx++idx1);
 
foreach (var i in Range(1, 9)) {
grid[r][c] = i;
if (grid.Constraints(r, c) && grid.Solve(cells,idx++idx1))
return true;
}
Line 1,900:
static class Program {
static void Main(string[] args) {
var watch = new System.Diagnostics.Stopwatch();
var puzzle = "000028000800010000000000700000600403200004000100700000030400500000000010060000000";
watch.Start();
WriteLine(Sudoku.Run(puzzle).AsString());
watch.Stop();
WriteLine($"Completed in {watch.ElapsedMilliseconds} ms");
Read();
}
Line 1,912 ⟶ 1,908:
Output
<pre>
617328945
697328105
894517236
800517234
325946781
354906700
978651423
579682403
256834179
286134957
143792658
103759628
731489562
738460509
489265317
425093816
562173894
961875302
Completed in 431 ms
</pre>