Судоку
Сетка Судоку представляет собой 16×16 клеток сетки или сгруппированные в 4×4 шестнадцать квадратов, где некоторые клетки заполняются буквами от A до P (первые 16 заглавных букв английского алфавита), как показано на рисунке 1а. Суть игры состоит в том, чтобы заполнить все пустые ячейки сетки буквами от A до P так, что каждая буква из сетки встречается только один раз в каждой строке, каждом столбце и каждом из квадратов 4×4. Исходное содержание сетки удовлетворяет ограничениям выше и гарантирует единственное решение.
Входные данные
Каждый набор входных данных кодирует сетку и содержит 16 строк по 16 символов подряд, как показано в примере входных данных. i–я строка очередного набора обозначает i-ю строку сетки, содержит 16 символов и начинается с первой позиции строки. Строка состоит из символов множества {A, B, …, P, -}, где "–" (минус) обозначает пустую ячейку сетки. Разные наборы данных разделены одной пустой строкой и заканчиваются с концом файла.
Выходные данные
Программа выводит решение для полученных на входе сеток в том же формате и порядке, что и для входных данных.