注意:直接开个二维数组会RE

  1. #include <iostream>
  2. using namespace std;
  3. struct dt {
  4. int x, y, a, b, id;
  5. dt() {}
  6. dt(int x, int y, int id) : x(x), y(y), id(id) {};
  7. };
  8. dt d[10010];
  9. int main() {
  10. int n;
  11. cin >> n;
  12. for (int i = 0; i < n; i++) {
  13. cin >> d[i].x >> d[i].y >> d[i].a >> d[i].b;
  14. d[i].id = i + 1;
  15. }
  16. int x, y;
  17. cin >> x >> y;
  18. // 倒着遍历,越后铺的地毯越靠上层
  19. for (int i = n - 1; i >= 0; i--) {
  20. // 只需要判断这个点的坐标是不是在这个地毯的长宽高里就行
  21. if (x >= d[i].x && x <= d[i].x + d[i].a && y >= d[i].y && y <= d[i].y + d[i].b) {
  22. cout << d[i].id;
  23. return 0;
  24. }
  25. }
  26. cout << -1;
  27. return 0;
  28. }
点赞(0)
 

9.9 分

1 人评分

 

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

早起床 2年前 回复TA
技巧拉满了好吧