Mansión Larga


Submit solution

Points: 100 (partial)
Time limit: 3.0s
Memory limit: 256M

Authors:
Problem types
Allowed languages
C, C++, Java, Pascal, Python, VB

Hay una mansión ancha con N habitaciones localizadas en filas desde el esta hacia el oeste. La i-ésima habitación desde es el este es llamada la habitación i. Para cada i tal que 1in1, la habitación i y la habitación i+1 están conectadas por un corredor. Nosotros podemos pasar por los corredores en ambas direcciones. Necesitamos un llave para entrar en un corredor desde una habitación. Cada llave tiene un numero llamado tipo. Mas de una llave pueden tener el mismo tipo.

Desde la habitación i o la habitación i+1, nosotros necesitamos una llave de tipo Ci para entrar a el corredor entre ellas. Hay Bi llaves en la habitación i. Sus tipos son Ai,j (1jBi). Si entras en una habitación, puedes coger todas sus llaves. Después de eso puede usarlas para entrar en los corredores.Puedes usar cada llave tantas veces como quieras. Algunas veces, obtienes varias llaves del mismo tipo pero no hay diferencia entre tener una o mas llaves del mismo tipo.

Para lidiar con la situación donde te pierdes en la mansión planeas escribir un programa donde responderás las siguientes pregunta:

  • Si te encuentras en la habitación x sin ninguna llave, puedes llegar a la habitación y?

Tu tareas es escribir un programa que responda a esas preguntas.

Tarea:

Dada la información de la mansión y las preguntas, escribir un programa que determine para cada pregunta cuando puedes moverte de una habitación a otra asumiendo que te encuentras en la mansión sin ninguna llave.

Entrada:

La primera linea de la entrada contiene un entero N, el número de habitación en la mansión.

La segunda linea de entrada contiene N1 enteros separados por espacio C1,C2,,CN1. Esto significa que necesitas la llave de tipo Ci para entrar al corredor que conecta la habitación i y la habitación i+1.

La i-ésima linea (1iN) de las siguientes N lineas contiene un entero positivo Bi y Bi enteros separados por espacio Ai,1,Ai,2,,Ai,Bi. Esto significa que en la habitación i hay Bi llaves y sus tipos son Ai,j (1jBi).

La siguiente línea contiene un entero Q, el número de preguntas.

La k-ésima línea (1kQ) de las siguientes Q líneas contiene dos enteros separados por espacio Xk, Yk, Esto significa que la k-ésima pregunta pregunta cuando puedes moverte de la habitación Xk a la habitación Yk asumiendo que estás en la mansión sin ninguna llave.

Salida:

La salida consta de Q líneas. La k-ésima línea (1kQ) de las Q lineas contiene YES si te puedes mover de la habitación Xk a la habitación Yk asumiendo que el está ahora en la habitación Xk y no tiene llaves. En otro caso contiene NO.

Limites:

Todos los datos de entrada satisfacen las siguientes condiciones:

2N5105

1Q5105

1B1+B2++BN5105

1BiN(1iN)

1CiN(1iN1)

1Ai,jN(1iN,1jBi)

Los Bi enteros Ai,1,Ai,2,,Ai,Bi son diferentes entre ellos (1iN). 1XkN (1<=k<=Q)

1YkN (1<=k<=Q)

XkYk (1<=k<=Q)

Subtask 1 (5 puntos):

N<=5000 Q<=5000 B1+B2+...+BN5000

Subtask 2 (5 puntos).

N5000 B1+B2+...+BN5000

Subtask 3 (15 puntos):

N105

Ci20 (1iN1)

Ai,j20 (1iN,1jBi)

Subtask 4 (75 puntos):

Sin restricciones adicionales.

Entrada de ejemplo 1:

Copy
5
1 2 3 4
2 2 3
1 1
1 1
1 3
1 4
4
2 4
4 2
1 5
5 3

Salida de ejemplo 1:

Copy
YES
NO
NO
YES

En la primera pregutna, si visitas las habitaciones 2, 1, 2, 3, 4 en ese orden, logras llegar a la habitacion 4.

En la segunda pregunta, solo puedes visitar las habitaciones 3 y 4.

El la tercera pregunta, no puedes obtener una llave de tipo 4 de la habitacion 5 a la 4. Por lo tanto no puedes llegar a la habitacion 5.

En la cuarta pregunta, si visitas las habitaciones 5, 4, 3 es ese orden, logras llegar a la habitacion 3.

Entrada de ejemplo 2:

Copy
5
2 3 1 3
1 3
1 2
1 1
1 3
1 2
4
1 3
3 1
4 3
2 5

Salida de ejemplo 2:

Copy
NO
YES
NO
YES

Entrada de ejemplo 3:

Copy
7
6 3 4 1 2 5
1 1
1 5
1 1
1 1
2 2 3
1 4
1 6
3
4 1
5 3
4 7

Salida de ejemplo 3:

Copy
YES
NO
YES

Comments

There are no comments at the moment.