14026: Блоки - Blocks - USACO22FebBronze


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

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

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

У Бесі є 4 дерев'яні кубики. На кожній із 6 сторін кожного кубика написано одна літера.

За заданими літерами на кожному з 4 кубиків та списку слів, які Бесі хоче складати з цих кубиків, визначте слова зі списку, які вона зможе скласти, використовуючи ці кубики.

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

Перший рядок введення містить \(N\) (\(1\le N\le 10\)), кількість слів, які Бесі хоче скласти. Кожен із наступних 4 рядків містить рядок із 6 символів - великих англійських букв, що представляють літери на сторонах кубика.

Наступні \(N\) рядків містять \(N\) слів, які Бесі хоче складати. Кожне слово має довжину від 1 до 4 літер (великих англійських).

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

Для кожного слова зі списку Бесі виведіть YES, якщо вона може скласти це слово зі своїх кубиків і NO інакше.

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

6
MOOOOO
OOOOOO
ABCDEF
UVWXYZ
COW
MOO
ZOO
MOVE
CODE
FARM

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

YES
NO
YES
YES
NO
NO

У цьому прикладі Бесі зможе скласти слова COW, ZOO та MOVE. Слово MOO вона не може скласти, оскільки єдиний блок з літерою M також необхідний для використання літери O. Вона не може скласти слово FARM, оскільки немає літери R на жодному з блоків. Вона не може скласти слово CODE, оскільки Букви C, D, E розташовані на одному блоці.

Автор: Brian Dean


Коментарі

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