4 solutions

  • 4
    @ 2024-1-22 11:23:10
    #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
      @ 2023-12-22 22:10:18
      #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
        @ 2023-11-28 13:15:58
        #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
          @ 2023-12-17 21:55:08
          #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