QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 1024 MB Total points: 100 Hackable ✓

#17893. 卓越飞镖

Statistics

Superb AI 公司的成员们为了打赌请客喝咖啡,发明了一款名为“Superb Dart”(超级飞镖)的新游戏。Superb Dart 的规则如下:

  • 在二维平面上绘制一个飞镖盘。
  • 飞镖盘是一个以具有整数坐标的点为顶点、连接这些点的线段为边所构成的图。
    • 任意两个不同顶点的坐标不相同。
    • 所构成的图必须是简单图(无重边)且是连通图(任意两个顶点之间始终存在路径)。
    • 不同的线段之间互不相交,即使相接触,也只能在它们共享的顶点处相交(可以理解为平面图)。
  • 在这样的飞镖盘上投掷飞镖时,单次投掷获得的分数与飞镖落点所在的区域面积成反比。
    • 飞镖盘上包含某个点的区域,是指从该点出发,在不与飞镖盘的边相交或接触的情况下,通过路径可以到达的所有点的集合(这里的路径是指平面上的路径,而非图上的路径,它可以是曲线)。
    • 面积为无限大或为 0 的情况(例如落在飞镖盘外部,或者正好落在顶点或边上)不计为有效区域,此时获得 0 分。

好奇心旺盛的 Superb AI 成员们很想知道在这样的飞镖盘上可能获得的分数组合。为了解决这个疑问,他们决定首先在给定飞镖盘的情况下,计算出飞镖盘上各个区域的面积。

输入格式

第一行给出飞镖盘的顶点数和边数 $N, M$ ($1 \le N, M \le 100\,000$)。每个顶点按顺序编号为 $1$ 到 $N$,每条边按顺序编号为 $1$ 到 $M$。

接下来的 $N$ 行给出顶点的坐标。其中第 $i$ 行给出第 $i$ 个顶点的 $x$ 坐标和 $y$ 坐标,用空格隔开。不会给出重复的坐标。($-10^6 \le x, y \le 10^6$)

接下来的 $M$ 行给出飞镖盘的边。其中第 $i$ 行给出第 $i$ 条边的两个端点 $s, e$。两个端点互不相同,任意两条不同的边不会连接同一对顶点,且最多只有一个交点。如果任意两条不同的边有交点,则这两条边共享一个端点,且它们的交点正是该共享的端点。($1 \le s, e \le N, s \neq e$)

保证给定的飞镖盘是连通的。

输出格式

第一行输出飞镖盘中有效区域(面积大于 0 且有限的情况)的数量 $S$。

接下来的 $S$ 行,将这些区域的面积四舍五入保留一位小数,并按升序输出。

样例

输入样例 1

5 6
0 0
0 1
0 3
1 1
1 3
1 2
2 3
1 4
2 4
4 5
3 5

输出样例 1

2
0.5
2.0

输入样例 2

10 13
2 0
6 4
8 6
2 6
4 2
8 2
0 2
10 2
12 2
12 6
3 2
1 7
10 8
3 6
5 6
2 6
9 10
4 7
6 8
8 9
4 5
1 5
3 4

输出样例 2

4
4.0
4.0
12.0
16.0

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.