You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
956 B
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Validate a Sudoku
## Definition
Sudokus are number-puzzles in which cells in a 9×9 grid must be populated with the numbers `1` to `9`.
The following constraints must apply to the 9×9 grid.
* Each digit from `1` to `9` only occurs only once
* per row
* per column
* per block (i.e. 3×3 sub grid)
![a solved simple sudoku](sudoku.gif)
## Goal
Validate, if a given Sudoku is a valid solution.
The Sudoku must comply with the definition above.
### Input
A sequence of 81 digits, organized in 9 columns and 9 rows.
The columns of a row are separated by blanks.
Rows are separated by line-breaks.
### Output
A boolean value `true` or `false` defining the correctness of the input.
### Constraints
1 <= `digit` <= 9
### Examples
**Input:**
```
9 8 1 5 2 3 6 4 7
6 3 4 8 7 9 2 5 1
2 7 5 1 4 6 9 8 3
1 9 6 4 8 7 5 3 2
5 4 8 3 1 2 7 6 9
7 2 3 6 9 5 4 1 8
3 1 2 7 5 4 8 9 6
4 6 9 2 3 8 1 7 5
8 5 7 9 6 1 3 2 4
```
**Output:**
`true`