F. Рудольф и смешивание цветов

Codeforces
IDCF10176F
Time2000ms
Memory256MB
Difficulty
English · Original
Formal · Original
Рудольф увлёкся рисованием и купил себе краски P различных цветов. В процессе художественного творчества Рудольф обнаружил два интересных факта: Чтобы проверить своё предположение, Рудольф составил карту смешивания цветов — для каждой пары цветов (C1, C2) он определил цвет C3, который получится при их перемешивании (при этом не важно, добавлялся ли цвет C2 к цвету C1 или цвет C1 к цвету C2). Теперь он хочет узнать, существует ли такой набор цветов (не обязательно различных), смешивая которые в различном порядке, можно получить различные цвета. Помогите ему найти ответ на этот вопрос. Первая строка содержит целое число P (1 ≤ P ≤ 100) — количество цветов в палитре. Следующие строк описывают правила перемешивания цветов. Каждая из них содержит последовательности Ci1, Ci2 и Ci3 (1 ≤ |Ci1|, |Ci2|, |Ci3| ≤ 100), состоящие из строчных латинских букв, — соответственно названия двух смешиваемых цветов и название цвета, получаемого в результате смешивания. Выведите _YES_, если хотя бы для одного набора цветов порядок смешивания влияет на результирующий цвет, либо _NO_, если результирующий цвет никогда не зависит от порядка смешивания. Во втором примере можно рассмотреть набор цветов (_blue_, _green_, _green_). Порядок смешивания ((_blue_ + _green_) + _green_) даёт результирующий цвет _blue_. Порядок смешивания (_blue_ + (_green_ + _green_)) даёт результирующий цвет _green_. ## Входные Данные Первая строка содержит целое число P (1 ≤ P ≤ 100) — количество цветов в палитре. Следующие строк описывают правила перемешивания цветов. Каждая из них содержит последовательности Ci1, Ci2 и Ci3 (1 ≤ |Ci1|, |Ci2|, |Ci3| ≤ 100), состоящие из строчных латинских букв, — соответственно названия двух смешиваемых цветов и название цвета, получаемого в результате смешивания. ## Выходные Данные Выведите _YES_, если хотя бы для одного набора цветов порядок смешивания влияет на результирующий цвет, либо _NO_, если результирующий цвет никогда не зависит от порядка смешивания. ## Примеры Входные данные2blue green blueblue blue greengreen green greenВыходные данныеNOВходные данные2blue green greenblue blue greengreen green blueВыходные данныеYES ## Примечание Во втором примере можно рассмотреть набор цветов (_blue_, _green_, _green_).Порядок смешивания ((_blue_ + _green_) + _green_) даёт результирующий цвет _blue_.Порядок смешивания (_blue_ + (_green_ + _green_)) даёт результирующий цвет _green_. [samples]
**Definitions** Let $ P \in \mathbb{Z} $ be the number of distinct colors, with $ 1 \leq P \leq 100 $. Let $ C $ be a finite set of color names (strings). Let $ f: C \times C \to C $ be a commutative binary operation representing color mixing: $ f(c_1, c_2) = f(c_2, c_1) = c_3 $ for all $ c_1, c_2 \in C $, where $ c_3 $ is the resulting color. **Constraints** The operation $ f $ is given explicitly for all pairs $ (c_i, c_j) $ appearing in input; it is assumed to be well-defined and symmetric for all such pairs. **Objective** Determine whether there exists a multiset $ S \subseteq C $ of size $ \geq 2 $ and two different parenthesizations (orders of application) of iterated mixing of elements of $ S $, such that the resulting colors differ. Equivalently: Does there exist $ a, b, c \in C $ (not necessarily distinct) such that $$ f(f(a, b), c) \neq f(a, f(b, c))? $$ If such a triple exists, output _YES_; otherwise, output _NO_.
API Response (JSON)
{
  "problem": {
    "name": "F. Рудольф и смешивание цветов",
    "description": {
      "content": "Рудольф увлёкся рисованием и купил себе краски P различных цветов. В процессе художественного творчества Рудольф обнаружил два интересных факта: Чтобы проверить своё предположение, Рудольф составил к",
      "description_type": "Markdown"
    },
    "platform": "Codeforces",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "CF10176F"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Рудольф увлёкся рисованием и купил себе краски P различных цветов. В процессе художественного творчества Рудольф обнаружил два интересных факта:\n\nЧтобы проверить своё предположение, Рудольф составил к...",
      "is_translate": false,
      "language": "English"
    },
    {
      "statement_type": "Markdown",
      "content": "**Definitions**  \nLet $ P \\in \\mathbb{Z} $ be the number of distinct colors, with $ 1 \\leq P \\leq 100 $.  \nLet $ C $ be a finite set of color names (strings).  \nLet $ f: C \\times C \\to C $ be a commut...",
      "is_translate": false,
      "language": "Formal"
    }
  ]
}
Full JSON Raw Segments