Profundidad de las Páginas


Submit solution

Points: 100 (partial)
Time limit: 3.0s
Java 8 4.0s
Python 6.0s
Memory limit: 256M
Java 8 2G
Python 2 256M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Perl, Prolog, Python, Scala, Swift, VB

Description

La web es una colección de miles de millones de documentos escritos de tal manera que se pueden citar utilizando hipervínculos, formando el llamado hipertexto. Dichos documentos o páginas web tienen muchos caracteres escritos en numerosos idiomas y cubren esencialmente todos los temas del conocimiento humano.

La Web...

En la actualidad, la web es uno de los principales medios de difusión de información. Hoy en día, las páginas web son contenedores de programas, archivos comprimidos, documentos de texto, archivos multimedia como imágenes, videos, animaciones y sonidos, entre otros. Se crean utilizando diferentes lenguajes de programación y son compatibles con diferentes tipos de servidores web. Por lo tanto, no nos equivocaríamos al afirmar que la web es un reflejo de las principales tendencias seguidas por la mayoría de los usuarios para el uso de la tecnología de la información.

En el último estudio realizado en los sitios web de la Universidad de Ciencias Informáticas, se detectó que más del 99.75% de las páginas web se encuentran entre la profundidad lógica 1 y 10. La profundidad lógica de una página web está relacionada con el número mínimo de veces que el usuario debe hacer clic en cualquier enlace para acceder a ella sin abandonar el sitio web y comenzando desde la página de inicio. La página de inicio de un sitio web tiene profundidad lógica uno, y las páginas web a las que se puede acceder directamente desde la página de inicio tienen una profundidad lógica dos, y así sucesivamente.

El estudio, entre otras cosas, permitió desarrollar un mapa de navegación para cada uno de los sitios web estudiados. También un software capaz de determinar la profundidad lógica de una página web, a partir del mapa de navegación del sitio web al que pertenece. Se ha decidido probar el software en sitios que no contengan más de 50 páginas web, y queremos que usted desarrolle un software similar para comparar los resultados obtenidos.

Input specification

La primera línea contiene un entero 1 <= T <= 100, que es el número de casos de prueba (sitios web). Luego siguen T casos. Para cada caso de prueba, la primera línea contiene tres enteros: 1 <= N <= 50, 1 <= L <= 500 y 1 <= Q <= N, que denotan el número de páginas web (convenientemente numeradas entre 1 y N, la página de inicio es siempre será la número uno), la cantidad de enlaces y la cantidad de pruebas, respectivamente. Siguiendo esta habrán L líneas: cada línea consiste en dos números enteros separados por espacios 1 <= S <= N y 1 <= D <= N que denotan la fuente y el destino de un enlace. Siguiendo esta habrán Q líneas: cada línea consiste en un número entero 1 <= P <= N que denota alguna página web, seleccionada para la prueba.

Output specification

Para cada página web seleccionada para la prueba, debe imprimir una línea con un número entero que represente la profundidad lógica de la misma, o -1 si es imposible acceder a esa página web desde la página de inicio.

Sample input

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

Sample output

1
2
3
1
2
2

Comments

There are no comments at the moment.