SP8793 SPOINTS - Separate Points

题目描述

在一个平面上,分布着若干黑点和白点。如果在这个平面上画一条无限长的直线,且这条直线不经过任何一个点,那么这条直线会将这些点分成两组。如果这两组分别仅包含黑点和白点,我们就说这条直线“分离了黑点和白点”。 如下面的图示例。在最左边的例子中,我们可以找到一条虚线准确地根据颜色将黑点和白点分开。而在剩下的三个例子中,没有哪一条直线能做到这种分离。 ![Example plane](../../../content/johnm91:plane.png "Example plane") 在这个问题中,给定一组点及其颜色和位置,你需要判断是否存在一条直线能够将黑点和白点完全分隔开。

输入格式

输入由一系列数据集组成,每个数据集的格式如下: ``` n m x1 y1 ... xn yn xn+1 yn+1 ... xn+m yn+m ``` 第一行有两个用空格分隔的正整数,分别表示黑点的数量 $n$ 和白点的数量 $m$,它们的值都不超过100。接下来有 $n + m$ 行,这些行给出每个点的坐标。每一行包含两个整数 $x_i$ 和 $y_i$,表示第 $i$ 个点的横坐标和纵坐标,其中前 $n$ 行是黑点,后 $m$ 行是白点。所有的坐标都是0到10000之间的整数,且没有两个点重合。 输入以一行 "0 0" 结束。

输出格式

对于每个数据集,如果存在符合条件的直线,就输出“YES”;否则输出“NO”。每个结果各占一行。

说明/提示

- $0 < n, m \leq 100$ - $0 \leq x_i, y_i \leq 10000$ **本翻译由 AI 自动生成**