QOJ.ac

QOJ

Límite de tiempo: 15 s Límite de memoria: 64 MB Puntuación total: 100

#6871. 炮塔

Estadísticas

怪物从建筑物中涌出。请设置炮塔以抵御怪物。

在二维平面上,有四面墙围成一个正方形区域,左下角位于 $(0, 0)$,右上角位于 $(10000, 10000)$。

区域内有 $n$ 座建筑物,每座建筑物由 $m$ 个按逆时针顺序给出的点构成。对于每座建筑物,给出的第一个点是怪物出生点。每座建筑物都是凸多边形,且任意两座建筑物互不重叠或接触。

你可以在建筑物外部的任何位置设置炮塔,包括建筑物和墙壁的边缘。注意,炮塔的坐标不需要是整数。当炮塔与出生点之间的连线不穿过任何建筑物内部时,该出生点即可被炮塔攻击。

请计算确保每个怪物出生点都能被至少一个炮塔攻击所需的最少炮塔数量。

输入格式

第一行包含一个整数 $T$ ($1 \le T \le 10$),表示测试用例的数量。

每个测试用例中: 第一行包含一个整数 $n$ ($1 \le n \le 15$),表示建筑物的数量。 对于每座建筑物: 第一行包含一个整数 $m$ ($3 \le m \le 20$)。 接下来的 $m$ 行,每行包含两个整数 $x_i, y_i$ ($0 < x_i, y_i < 10000$),表示建筑物的第 $i$ 个点。

保证每个测试用例中 $m$ 的总和不超过 $200$。

输出格式

输出一个整数,表示所需的最少炮塔数量。

样例

输入格式 1

1
4
4
1 1
2 1
2 2
1 2
4
3 3
4 3
4 4
3 4
2 2

输出格式 1

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.