Sudoku: Difference between revisions

292 bytes removed ,  2 years ago
m
→‎Functional Recursive Backtrack Solution: Code change: turned print into a 1 liner
m (→‎Functional Recursive Backtrack Solution: Code change: turned print into a 1 liner)
Line 1,857:
private static bool Solve(this int[][] grid, int row, int col) {
var (r, c) = grid.NextEmptyCell(row, col);
if (r == 9) //successfinished
return true;
foreach (var i in Range(1,9)) {
Line 1,867:
return false;
}
 
private static U Fwd<T, U>(this T t, Func<T, U> func) => func(t);
 
static void Main(string[] args) {
Line 1,884 ⟶ 1,882:
.ToArray();
 
var report = Write(grid.Solve(0, 0) switch {
? truestring.Join('\n', grid.Select(row=>string.Concat(row)))
: "No Solution"); Range(0, 9)
}Read();
.Select(r => Range(0, 9).Select(c => grid[r][c]).Fwd(string.Concat))
.Fwd(s => string.Join('\n', s)),
_ =>
"No Solution\n"
};
Write(report);
ReadLine();
}
}
}
}</lang>
Output
<pre>975342861