QOJ.ac

QOJ

時間限制: 5 s 記憶體限制: 1024 MB 總分: 100 可 Hack ✓

#18490. 纸、笔、三角形

统计

三角形出人意料地伟大。据说,圆在 3 周岁时就能模仿着画出来,正方形在 4 周岁时也能画出来。然而,画三角形则需要再过一年(安孝燮、申熙莹,《洪彰义儿科学》,未来N (2020),第12版)。

由于 Yi-ha 已经满 5 岁很久了,他毫不费力地用笔在纸上画了一个边长为 $m$ 的“大等边三角形”。

在进一步探究 Yi-ha 的好奇心之前,我们需要对三角网格进行定义。与直角坐标系中 $x$ 轴与 $y$ 轴垂直不同,在三角网格中,$x$ 轴与 $y$ 轴的夹角为 60 度。在此网格上,如果画一条形如 $x+y = m$ 的直线,就会形成一个以 $(0,0)$、$(m,0)$、$(0,m)$ 为顶点的等边三角形,如下图所示。我们将这个等边三角形称为“大等边三角形”。

图 F.1:三角网格的两轴与 $x+y = m$ 型直线

Yi-ha 想要画出更多的等边三角形,于是他画了 $q$ 条与三条边之一平行且穿过大等边三角形内部的直线,然后将不包含在大等边三角形内部的部分擦除。于是,等边三角形就像花朵一样绽放开来!

看着无数的等边三角形,Yi-ha 感到非常幸福,但很快他就开始好奇图中总共包含多少个等边三角形。因为用手去数实在太多了,让我们编写一个程序来回答 Yi-ha 的问题。

输入格式

第一行包含表示大等边三角形边长的整数 $m$ 和 Yi-ha 新画的直线数量 $q$,两者用空格分隔。($1 \le m \le 200\,000$,$0 \le q \le 3m-3$)大等边三角形在三角网格中的顶点为 $(0,0)$、$(m,0)$、$(0,m)$。

接下来的 $q$ 行,每行包含两个用空格分隔的整数 $d$ 和 $l$。($0 < l < m$)$d$ 表示直线与 $x$ 轴的夹角,是 0、60、120 之一。

  • 若 $d = 0$,则添加直线 $y = l$。
  • 若 $d = 60$,则添加直线 $x = l$。
  • 若 $d = 120$,则添加直线 $x+y = l$。

输入中给出的直线互不相同。

输出格式

输出大等边三角形内部包含的等边三角形的总数。仅有部分在大等边三角形内部的等边三角形不予统计,且单个点不视为等边三角形。大等边三角形自身也包含在自身内部。

样例

输入样例 1

2 3
0 1
60 1
120 1

输出样例 1

5

输入样例 2

10 5
60 1
120 2
0 1
120 5
60 9

输出样例 2

12

说明

将两个样例的三角网格和直线画出来,如下图所示。

图 F.2:样例 1 对应的示意图

图 F.3:样例 2 对应的示意图

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.