题目:传送门
因为是简单模拟题目,所以开始直接模拟,然后发现是0分!思考了下,发现其实就是求点是否在范围内。因为覆盖,后面会覆盖前面的点,所以从后面往前面查询是否在范围内就OK了,在直接输出然后return,否则输出-1.
AC代码:
#include<bits/stdc++.h>
using namespace std;
int a[100000][5];
int main()
{int count,x,y,n,m;scanf("%d",&count);for(int i=0;i<count;i++)//保存各个范围 {scanf("%d%d%d%d",&a[i][0],&a[i][1],&n,&m);a[i][2]=a[i][0]+n;a[i][3]=a[i][1]+m;}scanf("%d%d",&n,&m);for(int i=count-1;i>=0;i--)//查看是否在范围内 {if(n>=a[i][0]&&n<=a[i][2]&&m>=a[i][1]&&m<=a[i][3]){printf("%dn",i+1);return 0;}}printf("-1n");return 0;}
本文发布于:2024-02-01 08:04:06,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170674584635079.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |