AT_arc089_b [ABC086D] Checker

题目描述

シカ的 AtCoDeer 君想要用边长为 $K$ 的“市松模様”来涂满一张无限大的二维网格。其中,边长为 $K$ 的“市松模様”是指将网格以白色和黑色交替着色,且每种颜色的每个连通块恰好是 $K \times K$ 的正方形。例如,下面就是边长为 $3$ 的“市松模様”的一个例子。 ![cba927b2484fad94fb5ff7473e9aadef.png](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_arc089_b/f249ddb0b7d4831bdbfc799a6785c179fe0b5887.png) AtCoDeer 君有 $N$ 个愿望。第 $i$ 个愿望用 $x_i, y_i, c_i$ 表示。如果 $c_i$ 是 `B`,表示希望 $(x_i, y_i)$ 这个格子被涂成黑色;如果 $c_i$ 是 `W`,表示希望它被涂成白色。请你计算,最多能同时满足多少个愿望。

输入格式

输入以以下格式从标准输入读入。 > $N\ K$ > $x_1\ y_1\ c_1$ > $x_2\ y_2\ c_2$ > $\vdots$ > $x_N\ y_N\ c_N$

输出格式

输出能同时满足的愿望数量的最大值。

说明/提示

## 限制条件 - $1 \leq N \leq 10^5$ - $1 \leq K \leq 1000$ - $0 \leq x_i \leq 10^9$ - $0 \leq y_i \leq 10^9$ - 如果 $i \neq j$,则 $(x_i, y_i) \neq (x_j, y_j)$ - $c_i$ 为 `B` 或 `W` - $N, K, x_i, y_i$ 都是整数 ## 样例解释 1 像上面给出的例子那样去涂色,可以同时满足所有的愿望。 由 ChatGPT 5 翻译