oj1185: Alfombra

Título requerido
para preparar una ceremonia especial, los organizadores en un área rectangular del lugar (puede ser visto como un primer cuadrante del sistema de coordenadas rectangulares) cubierto con algunos de la alfombra rectangular. Un total de n alfombras, numeradas de 1 a n. Ahora, de acuerdo con estos números de orden ascendente alfombra establecido sucesivamente en paralelo al eje, después de la colocación de la alfombra superpuesta en la parte superior de la alfombra previamente establecido. Después de la finalización de la colocación de la alfombra, los organizadores les gustaría saber la alfombra que cubre el piso superior de una serie de puntos. Atención: el punto en el límite del rectángulo, y cuatro vértices de la alfombra pueden considerarse cubiertos por la alfombra.

Entrada
fila común de entrada n + 2.
La primera línea, un número entero n, n representa las alfombras totales.
La siguiente fila n, i + 1-fila número i representa información de alfombra, que comprende cuatro números enteros positivos a, b, g, k, entre dos números enteros cada uno separado por un espacio, alfombrado respectivamente coordenadas (a, B) en la esquina inferior izquierda y la longitud de las direcciones de eje y alfombra x y.
N + 2 ésima línea contiene dos números enteros positivos x e y, coordinar el suelo puntos representación requerida (x, y).
Salida de
salida de línea común 1, un número entero, que representa el número de alfombra necesario; si la alfombra no está cubierto aquí salidas -1.
La entrada de la Muestra
Raw
. 3
. 1. 3 0 2
0 2. 3. 3
2. 3. 1. 3
2 2
. 3
. 1. 3 0 2
0 2. 3. 3
2. 3. 3. 1
. 4. 5
la muestrear la salida
sin procesar
. 3
-1
Indirecta
a 100% de los datos, hay 0≤n ≤10,000,0≤a, b, g, k≤100,000.
Para la ubicación del punto y el área de la esquina inferior izquierda de toda la gama, para averiguar el máximo que desde la parte inferior hacia arriba.

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<math.h>
#include<cstdio>
#include<vector>
#include<cstdlib>
#include<cstring>
using namespace std;
int main()
{
    int m,n;
    int x1[100100],x2[100100],y3[100100],y2[100100],x,y;
    cin>>m;
    for(int i=1;i<=m;i++)
        cin>>x1[i]>>y3[i]>>x2[i]>>y2[i];
    cin>>x>>y; 
    n=-1;
   for(int i=1;i<=m;i++)
   {
       if(x>=x1[i]&&x<=x1[i]+x2[i]&&y>=y3[i]&&y<=y3[i]+y2[i])
       n=i;
   }
    cout<<n<<endl;
    return 0;
}
Publicado 38 artículos originales · ganado elogios 27 · vistas 3164

Supongo que te gusta

Origin blog.csdn.net/qq_45891413/article/details/105334573
Recomendado
Clasificación