#P1360. Blue x Red = Bang
Blue x Red = Bang
题目描述
公司是制造电子电路板的先驱企业之一。最近,该公司在设计其特殊电源板时遇到了一个难题。每块电源板是一块扁平的塑料板,上面有特殊的红色和/或蓝色插头。蓝色插头被视为零线极,红色插头被视为相极。该公司的特殊设计要求所有蓝色插头都要用直线相互连接,形成一个简单的蓝色多边形。所形成多边形的所有顶点都必须是蓝色插头,并且任何一个蓝色插头都必须是这个多边形的一个顶点。在类似的条件下,所有红色插头应形成一个红色多边形。你可以假设相同颜色的任意三个插头都不共线,即不在同一条直线上。
设计问题在于,安全预防措施要求红色多边形和蓝色多边形不能相交;否则,必然会发生灾难性的爆炸。当两个多边形有非空交集时,就会出现这种情况。 公司的工程师们已经意识到,某些红色和蓝色插头的配置会导致无法形成不相交的红色和蓝色多边形。他们认为这样的配置是灾难性的。你的任务是编写一个程序,帮助 公司的工程师识别并排除这些灾难性的配置。
输入
输入文件的第一行包含一个整数 (),表示测试用例的数量,随后是每个测试用例的输入数据。每个测试用例的第一行包含两个整数 和 (),分别表示蓝色插头和红色插头的数量。接下来的 行,每行包含两个整数 和 ,表示一个蓝色插头的坐标。再接下来的 行,每行包含两个整数 和 ,表示一个红色插头的坐标。注意,所有坐标两两不同,且取值范围在 到 之间(包含 和 )。
输出
每个测试用例应输出一行,如果存在不相交的多边形,则输出 YES
;否则输出 NO
。输出区分大小写。
输入样例
2
4 4
2 2
4 2
2 4
1 1
2 5
2 6
3 3
1 3
3 3
1 1
3 1
2 3
2 2
1 4
3 4
输出样例
YES
NO
题目来源
德黑兰 2002 年竞赛题目