CF698D Limak and Shooting Points

题目描述

Bearland 是一个危险的地方。Limak 无法徒步旅行,因此他拥有 $k$ 块魔法传送石。每块石头最多只能使用一次。第 $i$ 块石头可以将他传送到点 $(ax_{i}, ay_{i})$。Limak 可以以任意顺序使用这些石头。 Bearland 中有 $n$ 只怪物。第 $i$ 只怪物站在 $(mx_{i}, my_{i})$。 给定的 $k+n$ 个点两两不同。 Limak 每次传送后,可以朝某个方向射出一支箭。箭会击中所选方向上的第一只怪物,然后箭和怪物都会消失。由于原地停留很危险,他每个地方只能射一支箭。 如果有可能 Limak 会用箭射中一只怪物,那么这只怪物就应该感到害怕。求有多少只怪物应该害怕 Limak?

输入格式

输入的第一行包含两个整数 $k$ 和 $n$($1 \leq k \leq 7$,$1 \leq n \leq 1000$)——传送石的数量和怪物的数量。 接下来的 $k$ 行,每行两个整数 $ax_{i}$ 和 $ay_{i}$,表示第 $i$ 块传送石可以传送到的坐标($-10^9 \leq ax_{i}, ay_{i} \leq 10^9$)。 接下来的 $n$ 行,每行两个整数 $mx_{i}$ 和 $my_{i}$,表示第 $i$ 只怪物所在的坐标($-10^9 \leq mx_{i}, my_{i} \leq 10^9$)。 给定的 $k+n$ 个点两两不同。

输出格式

输出应该感到害怕的怪物数量。

说明/提示

在第一个样例中,有两块传送石和四只怪物。传送石可以传送到 $(-2,-1)$ 和 $(4,5)$,在下图中用蓝色标出。怪物分别位于 $(4,2)$、$(2,1)$、$(4,-1)$ 和 $(1,-1)$,用红色标记。位于 $(4,-1)$ 的怪物不需要害怕,因为 Limak 无法用箭射到它。其余三只怪物都可能被射中,因此答案为 $3$。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF698D/70ee2c528dc792a1ade2fc595342213b793a806e.png) 在第二个样例中,有五只怪物需要害怕。安全的怪物是位于 $(300,600)$、$(170,340)$ 和 $(90,180)$ 的三只。 由 ChatGPT 5 翻译