Sudoku
Вам дано поле судоку, и требуется определить, действительно ли оно является корректным.
Корректное судоку формата должно удовлетворять следующим условиям:
- В каждой строке должны присутствовать все числа от 1 до 9.
- В каждом столбце должны присутствовать все числа от 1 до 9.
- В каждом блоке должны присутствовать все числа от 1 до 9.
Соответственно, некорректная судоку-разметка может иметь:
- Повторяющиеся числа в некоторых строках
- Повторяющиеся числа в некоторых столбцах
- Повторяющиеся числа в блоках

Входные данные
Во входных данных находится поле чисел. Все заполненные числа — это целые числа от 0 до 9. Пустые клетки обозначаются цифрой 0.
Выходные данные
Программа должна вывести
Valid
, если судоку корректно, и Not valid
— в противном случае. Примеры
Входные данные | Выходные данные |
0 0 0 0 0 8 0 0 2
0 7 0 0 0 0 0 1 0
0 2 0 7 0 0 9 0 0
0 0 0 0 0 0 7 0 1
0 0 0 9 0 2 6 0 0
3 0 5 8 0 0 0 4 0
9 0 0 6 0 0 4 0 0
0 0 0 2 0 7 0 6 0
0 0 1 0 0 4 0 0 0 | Valid |
0 0 0 0 0 8 0 0 2
0 7 0 0 0 0 0 1 0
0 2 0 7 0 0 9 0 0
0 0 0 0 0 0 7 0 1
0 6 0 9 0 2 6 0 0
3 0 5 8 0 0 0 4 0
9 0 0 6 0 0 4 0 0
0 0 0 2 0 7 0 6 0
0 0 1 0 0 4 0 0 0 | Not valid |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB