4267 - 自动画笔

题目描述

小 A 开发了一款像素涂色小游戏。游戏的画布是一个无限大的二维方格网络,初始时每个格子都是空白的。画布上有 N 支自动画笔(1 \le N \le 1000),初始时位于互不相同的格子中,一部分朝向北面,一部分朝向东面。

每一小时,每支仍在工作的画笔会执行以下二者之一:

  • 如果她当前所在的格子已经被其他画笔涂过颜色,则她会卡住停笔(并从这个时刻开始永远停止工作)。
  • 否则,给当前所在的格子涂上颜色,并向她朝向的方向移动一格。

经过一段时间,每支画笔的身后会留下一条涂了色的轨迹。

如果两支画笔在同一次移动中进入了同一个空白格子,她们会合作涂完这个格子的颜色,并在下一个小时各自继续沿朝向的方向移动。

小 A 想统计每支画笔"惹的麻烦"。如果画笔 b 停在了之前画笔 a 涂过色的格子上,我们就称画笔 a 卡住了画笔 b。进一步地,如果画笔 a 卡住了画笔 b,且画笔 b 卡住了画笔 c,我们认为画笔 a 也卡住了画笔 c(也就是说,「卡住」关系具有传递性)。请你计算每支画笔卡住的画笔总数。

输入

输入的第一行包含 N。以下 N 行,每行描述一支画笔的起始位置,包含一个字符 N(表示朝向北面)或 E(表示朝向东面),以及两个非负整数 xy0 \le x \le 10^90 \le y \le 10^9)表示格子的坐标。所有 x 坐标各不相同,所有 y 坐标各不相同。

为了使方向和坐标尽可能明确:如果一支画笔位于格子 (x,y) 并向北移动,她会到达格子 (x,y+1);如果她向东移动,她会到达格子 (x+1,y)

输出

输出 N 行。输出的第 i 行包含输入中的第 i 支画笔卡住的画笔总数。

样例

输入

3
E 0 3
N 4 1
N 6 5

输出

0
1
0

输入

5
E 1 4
N 3 1
E 2 6
N 6 2
E 5 8

输出

1
0
0
2
3

输入

8
E 0 6
N 3 0
E 1 9
N 5 2
E 4 12
N 8 4
E 7 15
N 10 1

输出

1
0
3
2
6
4
0
0
说明

样例说明

样例 1:第 2 支画笔向北前进,在第 2 小时涂色格子 (4,3);第 1 支画笔沿 y=3 向东,第 4 小时走到 (4,3) 时发现已被涂色而停笔。因此画笔 2 卡住了 1 支画笔。画笔 3 的路线与其他画笔不相交。

样例 2:画笔 5 先涂过 (6,8);画笔 4 向北走到 (6,8) 时停笔,故画笔 5 卡住了画笔 4。此后画笔 1 停在画笔 4 的轨迹 (6,4) 上,画笔 2 停在画笔 1 的轨迹 (3,4) 上。根据传递性,画笔 5 共卡住 3 支,画笔 4 卡住 2 支,画笔 1 卡住 1 支。此外,画笔 3 与画笔 4 在第 4 小时同时进入空白格 (6,6),两支画笔合作涂色后各自继续前进,互不影响。

数据范围

对于 100\% 的数据,1\le N\le 10000\le x,y\le 10^9,每支画笔的方向只可能为 NE,所有 x 坐标两两不同,所有 y 坐标两两不同。

本题共 10 个测试点,每个测试点 10 分。具体数据范围如下:

测试点编号N \le坐标范围特殊性质
1100\le x,y\le 20A
22000\le x,y\le 2000A
35000\le x,y\le 2000A
47500\le x,y\le 2000A
510000\le x,y\le 2000A
63500\le x,y\le 10^9
76000\le x,y\le 10^9
87500\le x,y\le 10^9
99000\le x,y\le 10^9
1010000\le x,y\le 10^9

特殊性质 A:所有坐标均不超过 2000

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 0
通过人数 0
金币数量 2 枚
难度 基础


上一题 下一题