Codeforces Round 639 (Div. 1) |
---|
Закончено |
Пит Мондриан — художник, наиболее известный своими минималистскими работами, состоящими только из четырех цветов: красного, желтого, синего и белого. Большинство людей объясняют это его стилем, но правда заключается в том, что смешивание двух его основных цветов лишь создает другой основной цвет!
Последовательность из нескольких основных цветов (красного, желтого и синего) смешивается следующим образом: пока есть хотя бы два цвета, посмотрим на первые два. Если они разные, заменим их на недостающий в этой паре цвет. Если они одинаковые, удалим их из последовательности. В конце, если в последовательности есть один цвет, этот цвет будет результатом смешивания. Иначе, если последовательность пустая, результатом смешивания будет белый. Рассмотрим два примера смешивания последовательности цветов:
У Пита есть цветная палитра, состоящая из нескольких клеток, пронумерованых от $$$1$$$ до $$$n$$$. Каждая клетка пустая или содержит один из основных цветов. Пит очень секретный и не покажет вам свою палитру, поэтому вы не знаете, какие цвета находятся в каждой клетке.
Несмотря на это, художник выполнил $$$k$$$ операций. Всего есть четыре вида операций:
Пит сказал вам список операций, которые он выполнил, в хронологическом порядке, с соответствующими индексами и результатами каждой операции mix. Имея эту информацию, определите цвет каждой клетки в изначальной палитре. Вы должны найти одно из возможных состояний изначальной палитры (до применения операций) или сказать, что описанная ситуация невозможна.
В первой строке находятся два целых числа $$$n$$$ и $$$k$$$ ($$$1\le n,k\le 1000$$$) — количество клеток в палитре и количество операций соответственно.
Следующие $$$k$$$ строк описывают операции. $$$i$$$-я из этих строк начинается с названия $$$i$$$-й операции и целого числа $$$m$$$ ($$$1\le m\le n$$$) — количества использованных в операции индексов. Затем следуют $$$m$$$ целых чисел $$$j_1,\ldots,j_m$$$ ($$$1\le j_i\le n$$$) — индексы клеток, выбранных в операции. Гарантируется, что в каждой операции все $$$j_i$$$ различны. Если это операция mix, индексы перечисляются в том порядке, в котором цвета смешиваются, и в конце строки также дается один символ, означающий получившийся в результате смешивания цвет: «R» для красного, «Y» для желтого, «B» для синего и «W» для белого.
В первой строке выведите «YES», если решение существует, и «NO» иначе. Вы можете выводить каждый символ в любом регистре (верхнем или нижнем).
Если ответ «YES», в следующей строке выведите строку длины $$$n$$$, состоящую из символов «R», «Y», «B» или «.», задающую цвета $$$n$$$ клеток на изначальной палитре (красный, желтый, синий цвета и пустая клетка соответственно). Если есть несколько возможных изначальных палитр, выведите любую. Вы можете выводить каждый символ в любом регистре (верхнем или нижнем).
3 2 mix 2 2 1 R mix 2 1 3 Y
YES YB.
2 3 mix 1 2 Y RB 1 2 mix 1 2 W
NO
1 3 RY 1 1 YB 1 1 mix 1 1 B
YES R
3 8 mix 2 1 2 R mix 2 1 3 Y RY 2 2 3 RB 3 1 2 3 YB 3 1 2 3 mix 1 1 W mix 1 2 B mix 1 3 Y
YES .RY
В первом тесте ответ «YB.» не противоречит обоим смешиваниям. При первом смешивании последовательности цветов «BY» получится красный цвет, при втором смешивании последовательности цветов «Y» получится желтый цвет (пустые клетки игнорируются). Некоторые другие возможные ответы: «BYR» и «.RY».
Во втором тесте можно показать, что не существует ни одной не противоречивой расстановки цветов на изначальной палитре.
В третьем тесте ответ «R» не противоречит никаким операциям. В первой операции палитра меняется на «Y», затем на «B». В последней операции при смешивании последовательности цветов «B» получается синий цвет.
В четвертом тесте ответ «.RY» не противоречит никаким операциям. В первых двух смешиваниях последовательности цветов «R» и «Y» смешиваются в красный и желтый цвета соответственно. В следующих трех операциях палитра изменяется на «.YR», затем на «.YB», затем на «.BY». Последние три смешивания согласуются с получившейся палитрой.
Название |
---|