AT_abc386_d [ABC386D] Diagonal Separation

题目描述

有一个 $N \times N$ 的网格,高桥君希望将每个格子涂成黑色或白色,并满足以下条件: - 对于每一行,存在一个整数 $i$($0 \leq i \leq N$),该行从左到右的前 $i$ 个格子是黑色,其余的为白色。 - 对于每一列,存在一个整数 $i$($0 \leq i \leq N$),该列从上到下的前 $i$ 个格子是黑色,其余的为白色。 目前已有 $M$ 个格子被涂上了颜色。具体来说,第 $i$ 个被涂色的格子位于第 $X_i$ 行、第 $Y_i$ 列。如果 $C_i$ 为 `B`,表示该格子已经被涂黑;如果 $C_i$ 为 `W`,则表示该格子已经被涂白。 请判断剩下的 $N^2 - M$ 个格子是否可以通过适当选择颜色来满足上述所有条件。

输入格式

输入数据从标准输入获取,格式如下: > $N$ $M$ > $X_1$ $Y_1$ $C_1$ > $\cdots$ > $X_M$ $Y_M$ $C_M$

输出格式

如果可以满足条件,请输出 `Yes`;否则,请输出 `No`。

说明/提示

- $1 \leq N \leq 10^9$ - $1 \leq M \leq \min(N^2, 2 \times 10^5)$ - $1 \leq X_i, Y_i \leq N$ - 任意两个不同的 $i$,$(X_i, Y_i) \neq (X_j, Y_j)$ - $C_i$ 为 `B` 或 `W` **本翻译由 AI 自动生成**