A. Калейдоскоп
Ограничения: время – 2s/4s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (4)
Фирма "Amusing Caleidoscopic Matrices" устанавливает в офисах калейдоскопические матрицы,
представляющие собой квадраты из `N\ times\ N` элементов, окрашенных в разные цвета.
Через некоторый интервал времени на калейдоскопе меняются местами случайно выбранные строки или столбцы матрицы
и образуется новый узор. Стоимость калейдоскопа тем выше, чем больше различных узоров он может сгенерировать,
и чем меньше среди них некрасивых. Узор считается некрасивым, если в нем есть квадрат `2\ times\ 2`, в котором
цвета всех элементов одинаковы или, наоборот, попарно различны. Два узора считаются одинаковыми,
если они совпадают при повороте на угол, кратный 90 градусов.
Напишите программу, определяющую для заданной калейдоскопической матрицы количество различных узоров,
которые могут получиться на ней, и количество некрасивых узоров среди них.
Первая строка ввода содержит одно целое число `N` (`2\ ≤\ N\ ≤\ 6`) – размеры матрицы калейдоскопа.
Далее следует `N` строк, содержащих по `N` целых чисел в диапазоне от 1 до 9 – номера цветов элементов матрицы.
Вывести два целых числа – количество различных узоров, которые могут получиться на заданной матрице,
и количество некрасивых узоров среди них.