Словарные квадраты
(Время: 1 сек. Память: 16 Мб Сложность: 50%)
Некоторые наборы из n слов длины n обладают интересным свойством - их можно расположить в клетках квадрата n×n так, что все слова набора можно прочитать как в вертикали, так и по горизонтали.
Примером такого набора слов является {"DATE", "FIND", "IDEA", "NEXT"}. Их можно расположить так:
Заметьте, что каждое слово можно прочитать как по горизонтали, так и по вертикали. Такие квадраты называются словарными квадратами, наибольший известный словарный квадрат в английском языке имеет размер 10×10.
Рассмотрим еще один пример словарного квадрата:
Вам даны такие 2n слов, что из них можно построить два различных словарных квадрата размера n×n. Ваша задача состоит в том, чтобы разбить эти слова на две группы, по n слов в каждой, и построить из слов каждой группы словарный квадрат.
Гарантируется, что все данные вам слова являются английскими словами (некоторые из них могут быть достаточно редкими словами, именами, или специальными терминами).
Входные данные
Первая строка входного файла INPUT.TXT содержит целое число n (2 ≤ n ≤ 10). Каждая из следующих 2n строк содержит слово, состоящее из заглавных букв английского алфавита. Каждое слово содержит ровно n букв.
Выходные данные
В выходной файл OUTPUT.TXT выведите два словарных квадрата, построенных из данных слов. Разделите квадраты пустой строкой.
Пример
№ | INPUT.TXT | OUTPUT.TXT |
1 | 4
ARTS
BEST
CRAB
DATE
FIND
IDEA
NEXT
RARE | CRAB
RARE
ARTS
BEST
FIND
IDEA
NEXT
DATE |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|