CF1220G Geolocation

题目描述

你在 Gryzzl 公司工作,总部设在印第安纳州波尼。 波尼附近新建的的国家公园最近开放了,你要实现地理定位系统,这样人们就不会迷路了。你是创新和极简主义者,提出的概念自然也是如此。公园里有$n$个天线,当有人想知道他们当前的位置,他们的 Gryzzl 全息手机将与天线通信,并获得从用户当前位置到所有天线的距离。 知道这些距离和天线位置应该很容易恢复用户的位置,对吗?好吧,是这样。不过唯一的问题是没有办法区分天线,所以你不知道,哪个距离对应于每个天线。你的任务是只要给出所有天线的位置和一个无序的距离集合,就可以找到一个用户的位置。

输入格式

第一行包含一个整数$n(2\le n\le 10^5)$,表示公园里的天线数量。 接下来的$n$行,每行包含两个整数$x_i$,$y_i$($0\le x_i,y_i\le 10^8$),表示第$i$根天线的坐标。数据保证每根天线的坐标各不相同。 下一行包含一个整数$m$($1\le n\ ⋅m\le 10^5$),表示需要查询位置的用户数量。 接下来$m$行,每行包含$n$个整数$0\le d_1\le d_2\le ⋯\le d_n\le 2\ ⋅10^{16}$,这些整数构成从需要查询位置的用户位置$(x$;$y)$到天线的平方距离的集合。 测试数据保证所有用户位置($x$;$y$)都是随机生成的,在所有可能整数位置中彼此独立。

输出格式

对于每个查询输出$k$,表示可能的用户位置的数量,然后再以字典序依次输出这些位置。

说明/提示

虽然最初的用户位置为非负坐标,但您必须输出所有可能的整数位置,换句话说,用户位置坐标可能会是负数。