#P16759. [Nerc2025]Irrigation Interlock
[Nerc2025]Irrigation Interlock
题目描述
两个灌溉合作社共同使用同一片肥沃的山谷。
第一个合作社负责维护散布在田野中的水泵,第二个合作社负责管理周围山丘上的蓄水池。每当两个合作社决定铺设一对新管道时,两条管道必须相交,这样才能在交点处安装一个联合阀门。
每条管道都是连接以下两类点中的两个不同点的直线段:
- 两个不同的水泵;
- 两个不同的蓄水池。
若两条线段至少有一个公共点,则认为两条管道相交。接触和重叠也视为相交。
给定所有水泵和蓄水池在笛卡尔平面上的精确坐标。对于每个规划方案,请判断:
- 第一个合作社能否选择两个不同的水泵;
- 第二个合作社能否选择两个不同的蓄水池;
使连接两对点得到的两条线段相交。
若可以,请输出所选择点的编号;否则输出无解。
输入格式
第一行包含一个整数 ,表示规划方案数。
对于每个规划方案:
- 第一行包含一个整数 ,表示水泵数量;
- 接下来 行,每行包含两个整数 ,表示第 个水泵的坐标;
- 下一行包含一个整数 ,表示蓄水池数量;
- 接下来 行,每行包含两个整数 ,表示第 个蓄水池的坐标。
同一类中的所有点互不相同,并且没有水泵与蓄水池位于同一个位置。
输出格式
对于每个规划方案:
- 若存在满足条件的选择,输出四个整数 :
- 是两个不同水泵的编号;
- 是两个不同蓄水池的编号;
- 线段 与线段 必须相交。
- 若不存在满足条件的选择,输出
-1。
若有多组合法答案,输出任意一组即可。
样例
3
4
0 0
4 0
3 3
1 3
5
-1 1
5 1
2 -1
2 4
6 3
4
0 0
1 0
0 1
1 1
4
5 5
6 5
5 6
6 6
3
0 0
4 0
0 2
3
4 -2
4 2
6 1
1 4 1 2
-1
1 2 1 2
样例说明
下图展示了三个规划方案。圆点表示水泵,方点表示蓄水池,粗线表示样例输出中选择的管道。

数据范围
所有规划方案中的 之和不超过 , 之和也不超过 。