QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 1024 MB 總分: 100

#4704. 挂钟

统计

你是巧克力销售团队的经理。你们团队习惯每两小时休息一次,期间会供应公司新推出的各种巧克力产品。大家对茶歇非常期待,以至于经常会抬头看墙上的时钟。

最近,你们团队搬到了新的办公室,并刚刚布置好了办公桌。一位团队成员请求在她的办公桌正前方的墙上挂一个时钟,这样她就不会错过茶歇时间。自然地,大家都附和了她的请求。

你决定在每个人的视野范围内提供足够数量的时钟。如果团队成员的视野内至少有一个时钟(无论时钟的朝向如何),他们就会感到满意。更准确地说,视野是指从他们座位的朝向开始,向左 45 度到向右 45 度(包含边界)的范围。为了尽可能少买时钟,你需要编写一个程序来计算满足所有人需求所需的最少时钟数量。

办公室是一个矩形房间,沿南北和东西方向对齐。由于墙壁足够高,你可以把时钟挂在门上方,并且可以假设一个人的视线不会被其他成员或家具遮挡。你还可以假设每个时钟都是一个点(大小为零),因此你甚至可以将时钟挂在房间的角落。

例如,假设有两名成员。如果他们面对面坐着,位置如图 D.1(A) 所示,你需要提供两个时钟,因为他们看到的墙壁区域是不同的。如果他们的座位安排如图 D.1(B) 所示,他们的视野在墙上有一个公共点。因此,你可以通过在这一点挂一个时钟来满足他们的需求。在图 D.1(C) 中,他们的视野有一个公共的墙壁区域。你可以通过在该区域的任何位置挂一个时钟来满足他们的需求。图 D.1 中的安排 (A)、(B) 和 (C) 分别对应样例输入 1、2 和 3。

图 D.1. 座位和时钟的安排。灰色区域表示视野。

输入格式

输入包含一组测试用例,格式如下:

$n \ w \ d$ $x_1 \ y_1 \ f_1$ $.$ $.$ $.$ $x_n \ y_n \ f_n$

测试用例中的所有数字均为整数。第一行包含团队成员人数 $n$ ($1 \le n \le 1,000$) 以及办公室房间的尺寸 $w$ 和 $d$ ($2 \le w, d \le 100,000$)。办公室的宽度 $w$ 为东西向,深度 $d$ 为南北向。接下来的 $n$ 行中的每一行表示一名团队成员座位的坐标和朝向。每名成员的座位位于不同的位置 $(x_i, y_i)$,面向方向 $f_i$(其中 $i = 1, \dots, n$)。这里 $1 \le x_i \le w - 1$,$1 \le y_i \le d - 1$,且 $f_i$ 为 N、E、W、S 中的一个,分别代表北、东、西、南。位置 $(x, y)$ 表示距离西墙 $x$ 且距离南墙 $y$。

输出格式

输出所需的最少时钟数量。

样例

样例输入 1

2 10 6
4 4 E
6 4 W

样例输出 1

2

样例输入 2

2 10 6
2 4 E
6 4 W

样例输出 2

1

样例输入 3

2 10 6
3 2 S
6 4 W

样例输出 3

1

样例输入 4

6 10 6
1 5 N
7 1 N
8 2 E
9 1 S
4 4 S
3 3 W

样例输出 4

3

样例输入 5

4 10 6
4 3 W
2 4 N
4 4 W
3 3 S

样例输出 5

2

样例输入 6

4 100000 40000
25000 25000 S
20000 30000 S
75000 25000 S
80000 30000 S

样例输出 6

1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.