题目描述
在一个二维平面上有 n 个点,其中没有任何一个点位于 y 轴上。
请你判断这些点中是否存在一点满足,删除该点后,剩余的所有点都在 y 轴的同一侧。
输入格式
第一行包含整数 n。
接下来 n 行,每行包含两个整数 x,y,表示其中一个点的横纵坐标。
点的位置两两不重合。
输出格式
如果存在满足要求的点,则输出 Yes,否则输出 No。
输入输出样例
输入 #1复制
3
1 1
-1 -1
2 -1
输出 #1复制
Yes
说明/提示
前三个测试点满足 2≤n≤10。
所有测试点满足 2≤n≤100,|x|,|y|≤100,|x|≠0。
分别统计一下y轴左边的点的数量和y轴右边点的数目,然后判断一下是不是有一个点就OK了。java代码写的,简单理解一下逻辑就行了。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int count = scanner.nextInt();
int[][] arr = new int[count][2];
int countLeft = 0; // 记录y轴左边的点
int countRight = 0; // 记录y轴右边的点
// 输入坐标
for (int i = 0; i < count; i++) {
arr[i][0] = scanner.nextInt();
if (arr[i][0] < 0) { // 不需要关注第二个坐标值
countLeft++;
} else {
countRight++;
}
arr[i][1] = scanner.nextInt();
}
if (countLeft == 1 || countRight == 1) {
System.out.println("Yes");
} else {
System.out.println("No");
}
}
}