| Demidov Open IT Cup 2025 |
|---|
| Finished |
Профессор Р. ведёт курс по алгоритмам в Киберславском университете. К сожалению, нынешнее поколение студентов не очень любит его методы преподавания, отчего учащиеся постоянно пишут о нём нелицеприятные вещи в социальных сетях, считая, что пожилой профессор в них не сидит. Однако Профессор активно мониторит то, что о нём пишут студенты, поэтому решил проучить молодых людей на ближайшей самостоятельной работе.
Профессор дал студентам тест, в котором каждый из вопросов подразумевает выбор либо ответа «Истина», либо ответа «Ложь» (профессор предпочитает эти варианты традиционным «Да» и «Нет», так как очень любит дискретную математику и математическую логику). Студент может либо ответить на вопрос, отметив один из вариантов, либо оставить оба поля пустыми. Известно, что каждый студент ответил хотя бы на два вопроса. Профессор Р. хочет сделать так, чтобы все студенты не сдали тест, поэтому он собирается изменить последовательность правильных ответов так, чтобы ни один студент не дал более одного правильного ответа.
Помогите профессору – напишите программу, которая узнает, существует ли такая последовательность правильных ответов, что у каждого студента будет не более одного правильно данного ответа.
Первая строка содержит числа $$$n$$$ и $$$k$$$ $$$(1 \le n \le 100, 2 \le k \le 100)$$$, разделённые пробелом – количество студентов и вопросов в тесте соответственно.
Следующие $$$n$$$ строк содержат строки $$$s$$$, длина каждой строки равна $$$k$$$. Строка может содержать один из трёх типов символов: если $$$i$$$-й символ равен $$$T$$$, это означает, что студент выбрал в $$$i$$$-м вопросе вариант «Истина», символ $$$F$$$ означает выбор варианта «Ложь», символ $$$X$$$ означает, что студент пропустил $$$i$$$-й вопрос. Гарантируется, что каждый студент выбрал варианты ответов как минимум в двух вопросах теста.
Выведите строку, состоящую из символов $$$T$$$ и $$$F$$$ – последовательность правильных ответов (строка длины $$$k$$$), при которой каждый студент даст не более одного правильного ответа. Если задача имеет несколько решений, выберите лексикографически наименьшую последовательность ответов. В том случае, если задача не имеет решения, выведите «-1» (без кавычек).
Напомним, что строка $$$p$$$ лексикографически меньше строки $$$q$$$, если существует позиция $$$i$$$ такая, что $$$p_i \lt q_i$$$, и для всех $$$j \lt i$$$ $$$p_j=q_j$$$.
3 3 FFX XFF FXF
FTT
3 3 FTX XFT TXF
FFF
4 3 TTX XTT TXT FFF
-1
| Name |
|---|


