T259964 「CGOI-1」寻找丑星

题目背景

### 本题 std 复杂度假了。 bh 摆脱了语文作业的统治,和 ac 以及 mc 躺在楼顶上看星星。他们想在星空中找到丑星系。 --- upd 2023/01/18:为防止误导大家,将卡掉 std 的 hack 加入数据。并附上 [hack 数据生成方式](https://www.luogu.com.cn/paste/obpy5ek0)。

题目描述

bh 在星空中看到了 $n$ 颗星星,第 $i$ 颗星星位于 $(x_i,y_i)$。 ac 告诉 bh,丑星系由 $m$ 颗丑星**依次**排列而成,每颗丑星都对应了星空中的一颗星星。但是 ac 忘了丑星系的具体位置,只记得丑星系**相邻**两颗丑星的**相对位置**。 **规定:** - **相邻**:对于 $1\le i\le m-1$,丑星 $i$ 与丑星 $i+1$ 相邻;丑星 $m$ 与丑星 $1$ 相邻。 - **相对位置**:对于丑星系中的相邻的两颗丑星 $u$ 和 $v$,如果 $v$ 在 $u$ 的 $\alpha$ 方向,那么相应的,在星空中,$v$ 对应的星星也一定在 $u$ 对应的星星的 $\alpha$ 方向,但在距离上没有限制。 现在 ac 以坐标的形式给出 $m$ 组相对位置,bh 能否在星空中找到丑星系对应的星星? **简化版题意:** 给定 $n$ 个点,第 $i$ 个点的坐标为 $(x_i,y_i)$,还有另外 $m$ 个点,第 $i$ 个点的坐标为 $(a_i,b_i)$,问是否存在一个长度为 $m$ 的数列 $\{c\}$ 满足: - $c_i\in[1,n]$ 且互不相同。 - $\forall i\in[1,m]$,存在 $k\in\mathbb R^+$ 满足 $x_{c_{i+1}}-x_{c_i}=k(a_{i+1}-a_i)$,$y_{c_{i+1}}-y_{c_i}=k(b_{i+1}-b_i)$。 特殊地,令 $a_{n+1}=a_1,\,b_{n+1}=b_1,\,x_{c_{n+1}}=x_{c_{1}},\,y_{c_{n+1}}=y_{c_1}$。

输入格式

第一行一个正整数数 $n$ ,表示 bh 看到的星星个数。 从第二行开始 $n$ 行,每行两个整数 $x_i,y_i$,表示 bh 看到的第 $i$ 颗星星在天空中的位置。 第 $n+2$ 行一个正整数 $m$,表示丑星系的丑星个数。 第 $n+3$ 行开始 $m$ 行,每行两个整数 $a_i,b_i$,表示 $m$ 组相对位置。

输出格式

第一行一个字符串,如果能看到,输出 `Yes` ,否则输出 `No`。 如果能看到,再输出 $m$ 个整数,表示组成丑星系的各星对应天空中星星的编号。如果有多个结果,那么输出编号字典序最小的。 **每行最多输出 $10$ 个数字。每 $10$ 个数字换一行。**

说明/提示

样例二解释: ![](https://cdn.luogu.com.cn/upload/image_hosting/t7lyfi0j.png) 如图所示,$1\sim 6$ 为星星在天空中的位置,$\{1,7,8,5\}$ 为丑星系的位置。满足条件的组合有 $\{3,4,1,2\}$ 和 $\{2,1,5,6\}$。相比之下后者的字典序更小。 --- **数据范围:** 对于 $60\%$ 的数据,$n\le 200$。 对于 $100\%$ 的数据,$m\le n\le5\times10^3$,$-10^9 \le x_i,y_i,a_i,b_i\le 10^9$。 保证对于 $1\le i