QOJ.ac

QOJ

حد الوقت: 1 s حد الذاكرة: 256 MB مجموع النقاط: 100

#6864. 围栏牛群

الإحصائيات

Little ColdHand 想要建造一个围栏来圈住他的奶牛的放牧区域。然而,为了使围栏有效,它必须包含所有 $m$ 个草地位置。否则,奶牛可能会反抗他。

为了解决这个问题,Little ColdHand 向星际奶牛公司寻求帮助。然而,该公司只提供了 $n$ 个围栏点,他只能在点与点之间建造围栏。最终的成本将是所使用的点的数量。

Little ColdHand 知道最经济的围栏应该是凸包,但他不知道所需的具体点数。因此,他向你寻求帮助以解决这个问题:

确定构建一个完全包围所有 $m$ 个吃草位置的围栏所需的最少点数。

注:如果围栏与任何草地位置相交,我们不认为这些位置被完全包围。

输入格式

输入的第一行包含整数 $T$ ($1 \le T \le 10$),表示测试用例的数量。接下来是各测试用例的描述。

每个测试用例的第一行包含两个整数 $n$ 和 $m$ ($1 \le n \le 500, 1 \le m \le 500$),分别表示围栏点的数量和草地位置的数量。

接下来的 $n$ 行,每行包含两个整数 $x_i$ 和 $y_i$ ($-10^9 \le x_i, y_i \le 10^9$),描述了位于 $(x_i, y_i)$ 的围栏点 $a_i$。

接下来的 $m$ 行,每行包含两个整数 $x_i$ 和 $y_i$ ($-10^9 \le x_i, y_i \le 10^9$),描述了位于 $(x_i, y_i)$ 的草地位置 $b_i$。

保证所有测试用例中 $n$ 和 $m$ 的总和均不超过 $4000$。

输出格式

对于每个测试用例,如果存在任何解决方案,输出一行一个整数,表示围栏的最小成本。否则,输出 $-1$。

样例

样例输入 1

2
4 1
1 1
1 -1
-1 1
-1 -1
0 0
4 1
1 1
1 -1
-1 1
-1 -1
1 0

样例输出 1

4
-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.