铺地毯
这题初看感觉没思路,但按题意把图出来就是签到。
从一号地毯遍历目标点是否在地毯里,是就覆盖,不是就跳过。最后输出答案就可以。不过看了别人的题解从最后找更快些,我还是太菜了。
#include <iostream> #include <cstdio> #include <cstring> #define ll long long using namespace std; struct node{ int a,b,g,k; }quan[10005]; int main() { int n,x,y; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d%d%d%d",&quan[i].a,&quan[i].b,&quan[i].g,&quan[i].k); scanf("%d%d",&x,&y); int flag=0; for(int i=1;i<=n;i++) { if(x<quan[i].a||y<quan[i].b) continue; if(x-quan[i].a<=quan[i].g&&y-quan[i].b<=quan[i].k) flag=i; } if(flag==0) printf("-1"); else printf("%d",flag); }