4 solutions
-
4
#include<bits/stdc++.h> using namespace std; struct blkt{ int a,b; int g,k; }; int n; blkt a[10005]; int x,y; int f=-1; int main(){ cin>>n; for(int i=0;i<n;i++){ cin>>a[i].a>>a[i].b>>a[i].g>>a[i].k; } cin>>x>>y; for(int i=0;i<n;i++){ if(x>=a[i].a&&x<=a[i].a+a[i].g&&y>=a[i].b&&y<=a[i].b+a[i].k) f=i; } cout<<f+1<<endl; return 0; }
用结构体做很容易 感谢@C23fufuhang
-
3
#include<bits/stdc++.h> using namespace std; struct dt{ int a,b,x,y; } d[10001];//数组往小开,以防炸空间 int main(){ int n,xn,yn,di=-1; cin>>n; for(int i=1;i<=n;i++) cin>>d[i].a>>d[i].b>>d[i].x>>d[i].y; cin>>xn>>yn; for(int i=1;i<=n;i++){ if(xn>=d[i].a&&xn<=d[i].a+d[i].x&&yn>=d[i].b&&yn<=d[i].b+d[i].y){ di=i; } } cout<<di<<endl; }
-
1
#include<iostream> using namespace std; int a[10001],b[10001],c[10001],d[10001]; int main(){ int n; cin >>n; for(int i=0;i<n;i++) cin >>a[i] >>b[i] >>c[i] >>d[i]; int x; int y; cin >>x >>y; int ans=-1; for(int i=0;i<n;i++) if(x>=a[i]) if(y>=b[i]) if(x<=a[i]+c[i]) if(y<=b[i]+d[i]) ans=i+1; cout <<ans; }
-
0
#include<iostream> using namespace std; int main() { int n; int x,y; cin>>n; int a[10001][4]; for(int i=0; i<n; i++) { for(int j=0; j<4; j++) { cin>>a[i][j]; } } cin>>x>>y; bool b=0; for(int i=n-1; i>=0; i--) { if(x>=a[i][0]&&x<=a[i][0]+a[i][2]&&y>=a[i][1]&&y<=a[i][1]+a[i][3]) { cout<<i+1; b=1; break; } } if(b==0) cout<<-1; return 0; }
- 1
Information
- ID
- 604
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- # Submissions
- 44
- Accepted
- 19
- Uploaded By