eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Процессор

Процессор

Как известно, большинство производимых сейчас процессоров являются многоядерными, то есть поддерживают выполнение нескольких инструкций одновременно. Компания Paraltel разработала новый тип двухядерного процессора, который позволяет выполнять \textbf{26} различных инструкций, обозначаемых заглавными латинскими буквами. Исполнение каждой такой инструкции требует ровно одного такта работы процессора. Программа для этого процессора представляет собой последовательность инструкций. Инструкции программы должны быть исполнены в том порядке, в котором они следуют в программе, менять местами инструкции не разрешается. Благодаря наличию двух ядер, процессор может одновременно исполнять две программы --- по одной на каждом ядре. Однако из-за особенностей архитектуры одновременно на двух ядрах одного процессора могут выполняться только одинаковые инструкции. При выполнении двух программ на процессоре специальное управляющее устройство оптимизирует выполнение так, чтобы завершить выполнение обеих программ как можно раньше. Например, программы "\textbf{ABB}" и "\textbf{ABC}" можно выполнить на процессоре за \textbf{4} такта: сначала одновременно выполняются команды "\textbf{A}" обеих программ на разных ядрах, затем одновременно команды "\textbf{B}", затем команда "\textbf{B}" из первой программы и, наконец, "\textbf{C}" из второй. Аналогично, программы "\textbf{CAB}" и "\textbf{BAB}" выполняются за \textbf{4} такта. Недавно специалисты компании собрали из \textbf{n} процессоров суперкомпьютер, на котором требуется выполнить\textbf{2n} программ. Организация вычислений такова, что каждый процессор должен выполнить ровно по две программы из этого набора, по одной на каждом ядре. Вам необходимо спланировать выполнение \textbf{2n} программ на \textbf{n} процессорах так, чтобы время завершения выполнения всех программ было минимальным. \InputFile В первой строке задано число \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{10}) --- количество процессоров. Далее, в \textbf{2n} строках заданы программы, которые необходимо выполнить. Каждая программа содержит от \textbf{1} до \textbf{100} команд. Каждая команда задается заглавной латинской буквой. \OutputFile Выведите единственное число --- минимальное время, за которое можно выполнить все программы.
Лимит времени 2 секунды
Лимит использования памяти 256 MiB
Входные данные #1
2
ABC
ABB
BAB
CAB
Выходные данные #1
4