题目要求:
题目描述:
输入格式:
输出格式:
输出样例:
分析:
此题核心思路就是判断所求点最后出现在第几张地毯,那么直接从最后一张地毯开始往前判断,只要所求点出现在当前遍历的地毯的范围内就输入。方法如下:
1.通过输入地毯范围的时候将地毯编号加上
2.从最后一张地毯往前开始遍历
3.找到数据输出
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int[][] arr = new int[a][5];
for (int i = 0; i < a; i++) {
for (int j = 0; j < 4; j++) {
arr[i][j] = sc.nextInt();
}
//1.为每张地毯添加编号
arr[i][4] = i + 1;
}
int[] mubiao = new int[2];
for (int i = 0; i < 2; i++) {
mubiao[i] = sc.nextInt();
}
//2.从最后一张地毯开始往前遍历
for (int i = arr.length - 1; i < arr.length; i--) {
if (arr[i][0] <= mubiao[0] && mubiao[0] <= (arr[i][0] + arr[i][2])){
if (arr[i][1] <= mubiao[1] && mubiao[1] <= (arr[i][1] + arr[i][3])){
//3.找到数据输出
System.out.println(arr[i][4]);
return;
}
}
}
System.out.println(-1);
}
}