Анонс #218. Судоку

Анонс #218. Судоку

UniLecs

Задача: необходимо проверить правильно ли расставлена начальная позиция в таблице Судоку размера 9x9, а именно:

  • в каждой строке находятся цифры от 1 до 9 и без повторений.
  • в каждом столбце находятся цифры от 1 до 9 и без повторений.
  • в каждом из 9 блоков размера 3х3 также находятся цифры от 1 до 9 и без повторений.

Входные данные: символьная матрица, пустые клетки обозначены символом точки '.'.

Вывод: true/false - начальная позиция валидна или нет.

Пример: 

Пример с википедии

new char[][] {

 new char [] { '5', '3', '.', '.', '7', '.', '.', '.', '.' },

 new char [] { '6', '.', '.', '1', '9', '5', '.', '.', '.' },

 new char [] { '.', '9', '8', '.', '.', '.', '.', '6', '.' },

 new char [] { '8', '.', '.', '.', '6', '.', '.', '.', '3' },

 new char [] { '4', '.', '.', '8', '.', '3', '.', '.', '1' },

 new char [] { '7', '.', '.', '.', '2', '.', '.', '.', '6' },

 new char [] { '.', '6', '.', '.', '.', '.', '2', '8', '.' },

 new char [] { '.', '.', '.', '4', '1', '9', '.', '.', '5' },

 new char [] { '.', '.', '.', '.', '8', '.', '.', '7', '9' }

}


Output: True

Report Page