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

Упорядочивание коров

Упорядочивание коров

Каждый день фермер Джон доит своих 8 коров по имени Бесси, Лютик, Белинда, Беатрис, Белла, Блю, Бетси и Сью.

Коровы, к сожалению, довольно разборчивы и требуют, чтобы фермер Джон доил их в порядке, учитывающем n ограничений. Каждое ограничение имеет форму "X следует доить рядом с Y", в котором указано, что корова X должна появляться в порядке доения либо сразу после коровы Y, либо непосредственно перед коровой. Y.

Помогите фермеру Джону определить такой порядок коров, который удовлетворяет всем этим требованиям. Гарантируется, что требуемый порядок всегда возможен. Если существует несколько порядков, то выведите алфавитно наименьший. То есть первая корова должна иметь наименьшее в алфавитном порядке имя из всех возможных коров, которые могут появиться первыми в любом допустимом порядке. Среди всех порядков, начинающихся с той же самой первой по алфавиту коровы, вторая корова должна быть в алфавитном порядке наименьшей среди всех возможных порядков и так далее.

Входные данные

Первая строка содержит число n (1n7). Каждая из следующих n строк содержит предложение, описывающее ограничение в форме "X must be milked beside Y", где X и Y - имена некоторые из коров фермера Джона (восемь возможных имён перечислены выше).

Выходные данные

Выведите 8 строк - порядок коров (по одной корове в строке), с соблюдением всех ограничений. Если существует несколько порядков, выведите алфавитно наимньший.

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
3
Buttercup must be milked beside Bella
Blue must be milked beside Bella
Sue must be milked beside Beatrice
Выходные данные #1
Beatrice
Sue
Belinda
Bessie
Betsy
Blue
Bella
Buttercup
Источник 2019 USACO Декабрь Бронза