14147: Тваринницький склад-Livestock Lineup-USACO2019DecBronze


Відправити розв'язок

Бали: 100 (partial)
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js

Щодня Фермер Джон доїть своїх 8 корів, яких звуться Bessie, Buttercup, Belinda, Beatrice, Bella, Blue, Betsy, та Sue.

На жаль, корови досить вибагливі і вимагають, щоб ФД доїв їх у порядку, що відповідає \(N\) обмеженням (\(1 \leq N \leq 7\)). Кожне з обмежень має вигляд "\(X\) must be milked beside \(Y\)" ("\(X\) необхідно подоїти поряд \(Y\)"), що означає, що в порядку доїння корову \(X\) потрібно доїти відразу після корови \(Y\) або безпосередньо перед коровою \(Y\).

Будь ласка, допоможіть ФД визначити порядок доїння його корів, який задовольняє всі необхідні обмеження. Гарантується, що таке впорядкування завжди можливе. Якщо можливо кілька впорядкувань, виведіть перше їх у алфавітному порядку. Тобто перша корова повинна мати найменше в алфавітному порядку ім'я з усіх можливих імен, які можуть бути першими. Серед усіх упорядкувань, що починаються з цієї першої корови, друга корова має бути найменшою в алфавітному порядку серед усіх коректних упорядкувань тощо.

Формат вхідних даних

Перший рядок введення містить \(N\). Кожен з наступних \(N\) рядків містить пропозицію, що описує обмеження виду "\(X\) must be milked beside \(Y\)" де \(X\) і \(Y\) - імена деяких їх корів ФД (8 можливих варіантів перераховані на початку умови завдання).

Формат вихідних даних

Виведіть, використовуючи 8 рядків, порядок імен корів, по одному у рядку, що задовольняє всі обмеження. Якщо можливо кілька порядків, виведіть найбільш ранній у алфавітному порядку.

Приклад вхідних даних

3
Buttercup must be milked beside Bella
Blue must be milked beside Bella
Sue must be milked beside Beatrice

Приклад вихідних даних

Beatrice
Sue
Belinda
Bessie
Betsy
Blue
Bella
Buttercup

Коментарі

Ще немає коментарів.