14086: Коровакадемія II-Acowdemia II-USACO2021OpenBronze


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

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

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

Бесі завітала на роботу до комп'ютерної лабораторії. Вона хоче визначити ступінь важливості кожного з працівників лабораторії (\(1 \leq N \leq 100\)). Усі ступеня важливості різні. Тобто немає двох працівників з однаковим ступенем важливості. Для визначення ступеня важливості співробітників Бесі використовує Список публікацій лабораторії.

Кожна публікація містить список авторів, який має впорядкований список всіх працівників лабораторії. Список складений у порядку зменшення вкладу кожного із працівників до цієї статті. Якщо кілька працівників зробили однаковий внесок, тоді вони впорядковуються за абеткою. Оскільки важливіший працівник має додаткові адміністративні обов'язки, він ніколи не робить більшого внеску, ніж менш важливий працівник.

Наприклад, якщо лабораторія складається (у порядку зростання важливості) студентки Elsie, проф. Mildred та проф. Dean, вони можуть бути авторами статті (Elsie-Mildred-Dean), якщо всі вони внесли різну кількість зусиль. Зокрема, Elsie зробила більше зусиль ніж Mildred, а Mildred більше ніж Dean. Однак у них також може бути стаття в порядку Elsie-Dean-Mildred якщо Mildred і Dean внесли однакову кількість зусиль, а Elsie більше їх обох.

За заданими \(K\) публікаціями цієї лабораторії (\(1 \leq K \leq 100\)), допоможіть Бесі визначити для всіх пар співробітників цієї лабораторії хто важливіший, якщо це можна визначити.

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

Перший рядок містить два цілих числа \(K\) і \(N\).

Другий рядок містить \(N\) розділених одиночними пробілами слів, що містять імена членів лабораторії. Кожне ім'я складається лише з 10 маленьких латинських букв.

Кожен із наступних \(K\) рядків містить \(N\) розділених одиночними пробілами слів, які вказують на список авторів в одній публікації.

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

Висновок повинен складатися з \(N\) рядків, по \(N\) символів у рядку. На рядку \(i\), для будь-якого \(j \neq i\), \(j\)-ий символ повинен бути 1, якщо \(i\)-ий член більше важливий ніж \(j\)-ий, 0, якщо \(i\)-ий член менш важливий ніж \(j\)-ий, і ? якщо неможливо визначити при заданому списку публікацій.

\(i\)-ий символ у рядку \(i\) повинен бути \(B\) тому що це улюблений символ Бесі.

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

1 3
dean elsie mildred
elsie mildred dean

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

B11
0B?
0?B

У першому прикладі одна стаття (elsie-mildred-dean) не дає достатньо інформації, щоб визначити хто важливіше elsie або mildred. Однак точно Dean більш важливий ніж обидва. Тому можливі обидва порядки Elsie<Mildred<Dean та Mildred<Elsie<Dean

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

2 3
elsie mildred dean
elsie mildred dean
elsie dean mildred

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

B00
1B0
11B

У другому прикладі єдиний можливий порядок, що задовольняє обом статтям: Elsie<Mildred<Dean оскільки друга публікація допомагає визначити, що Mildred важливіше, ніж Elsie.


Коментарі

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