Detector de ondas gravitacionales

Tiempo límite 0,667 s Java: 8 s
Memoria límite 1 GB
Casos de prueba 48
Enviar solución

Puntos: 1

Tipo de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

Hay dos polígonos convexos (con su borde incluido), sin tres vértices consecutivos alineados, que no se tocan ni en el borde, y \(N\) puntos. Para cada punto \(Q\), determina si existen \(A\) en el primer polígono y \(B\) en el segundo tales que \(A\), \(B\) y \(Q\) sean tres puntos distintos y alineados, con uno de ellos exactamente en el medio de los otros dos (cualquiera de los tres puede ser el del medio).

Entrada

La primera línea tiene un entero \(M_1\) \((3 \le M_1 \le 10^5)\) y siguen \(M_1\) líneas con dos enteros \(X_1\) e \(Y_1\) \((-10^8 \le X_1, Y_1 \le 10^8)\): los vértices del primer polígono en sentido antihorario.

Luego, del mismo modo, \(M_2\) \((3 \le M_2 \le 10^5)\) y los vértices del segundo polígono.

Luego un entero \(N\) \((1 \le N \le 5 \cdot 10^5)\) y \(N\) líneas con dos enteros \(X\) e \(Y\) \((-10^8 \le X, Y \le 10^8)\): los puntos, numerados de \(1\) a \(N\). No hay puntos repetidos (un punto sí puede estar dentro de un polígono).

Salida

Una línea con un texto de largo \(N\) cuyo \(i\)-ésimo carácter es Y si el punto \(i\) sirve, o N si no.

Ejemplo 1

Entrada

3
2 5
4 5
2 7
3
8 8
10 6
10 8
10
5 7
5 8
6 6
7 7
9 4
13 9
15 8
15 10
15 12
18 9

Salida

YNYNNNYYNY

Ejemplo 2

Entrada

4
1 3
2 4
1 5
0 4
4
3 1
2 1
2 0
3 0
7
1 2
6 -5
2 2
-3 9
2 -3
-1 7
1 3

Salida

YNYNYYN

Regional Latinoamericana 2022 del ICPC, problema G («Gravitational Wave Detector»). Versión en español redactada para este juez; el enunciado oficial, en inglés, está aquí abajo.

Enunciado oficial en inglés (PDF)

Tu navegador no muestra el PDF aquí. Ábrelo en otra pestaña.

Abrir el enunciado oficial en otra pestaña


Comentarios

No hay comentarios por el momento.