Déminage – Épreuve régionale 2024

Niveau 5 ⋅ Validation weight: 20%

Énoncé

Les tensions entre tous les dieux éclatent. Jøsëf Marchand s'est montré trop gentil et a aidé beaucoup de dieux. Ainsi, les dieux ont une dent contre lui pour avoir aidé leurs ennemis et veulent en finir avec lui. Jøsëf ne peut plus compter que sur votre aide pour s'en sortir en un seul morceau.

L'endroit où Jøsëf se situe est représenté par un graphe $G$ = (aretes, [1, nombre sommets]). Un sous-ensemble des sommets de $G$ sont des mines posées par les dieux.

Ces mines ne sont pas comme les mines traditionnelles car elles peuvent détecter Jøsëf de très loin. S'il se fait détecter, c'est le drame : la mine le conduira à une mort certaine.

Jøsëf Marchand doit se déplacer $R$ fois. Vous devez l'aider en lui indiquant s'il est possible d'aller du sommet depart au sommet arrivee sans jamais passer sur une case d'une distance ≤ distance d'un sommet miné.

depart, arrivee, distance peuvent changer parmi les $R$ déplacements.

On considère qu'une case $A$ est à une distance $d$ d'une case $B$ quand $d$ est le nombre d'arêtes du plus court chemin entre $A$ et $B$.

Si les deux sommets d'une requête se sont pas dans la même composante connexe, vous devez afficher non.

Entrée

L’entrée contiendra :

  • Sur la première ligne, un entier : nombre sommets, le nombre de sommets.
  • Sur la ligne suivante, un entier : nombre trous, le nombre de trous.
  • Sur la ligne suivante, une liste de nombre trous entiers séparés par des espaces : trous, les numéros de chaque sommet ayant une mine.
  • Sur la ligne suivante, un entier : nombre aretes, le nombre d'arêtes.
  • Sur les lignes suivantes, une liste de nombre aretes éléments : aretes, les arêtes (non orientées) entre chaque sommet.
    • Une ligne par élément de la liste : séparés par des espaces, un entier u (premier sommet), et un entier v (deuxième sommet).
  • Sur la ligne suivante, un entier : nombre requetes, le nombre de requêtes.
  • Sur les lignes suivantes, une liste de nombre requetes éléments : requetes, chaque requête.
    • Une ligne par élément de la liste : séparés par des espaces, un entier portee (portee des mines), un entier depart (sommet de départ), et un entier arrivee (sommet d'arrivée).

Sortie

Pour chaque requête, afficher sur une ligne oui s'il est possible pour Jøsëf de se déplacer entre les deux sommets de manière sûre, non sinon.

Contraintes

  • $1 \le \text{nombre sommets} \le 1\,000$
  • $1 \le \text{nombre aretes} \le 10\,000$
  • $1 \le \text{nombre requetes} \le 1\,000$
  • $1 \le \text{nombre trous} \le \text{nombre sommets}$
  • $1 \le \text{trous[i]} \le \text{nombre sommets}$
  • $0 \le \text{portee} \le \text{nombre sommets}$
  • $1 \le \text{depart}, \text{arrivee} \le \text{nombre sommets}$
  • $1 \le u, v \le \text{nombre sommets}$
  • $\text{depart} \neq \text{arrivee}$

Contraintes de performance

  • $1 \le \text{nombre sommets} \le 100\,000$
  • $1 \le \text{nombre aretes} \le 100\,000$
  • $1 \le \text{nombre requetes} \le 100\,000$

Contraintes d'exécution

Utilisation mémoire maximum
100000 kilo-octets
Temps d'exécution maximum
1000 millisecondes

Exemples d'entrée/sortie

Exemple d'entrée
6
1
4
6
1 2
1 3
2 3
4 3
3 5
5 6
5
1 1 2
0 1 6
1 1 6
0 1 2
1 5 2
Exemple de sortie
oui
oui
non
oui
non
Commentaire

Nous avons 6 sommets dont 1 mine (sommet 4) reliés par 6 arêtes.

Graphe d'entrée

Voici les réponses des 5 requêtes :

  1. Nous devons aller du sommet 1 à 2 sachant que les sommets 4 et 3 font partie de la zone dangereuse. Il est possible de faire ce chemin, la réponse est "oui".
  2. Nous devons aller du sommet 1 à 6 sachant que le sommet 4 fait partie de la zone dangereuse. Il est possible de faire ce chemin, la réponse est "oui".
  3. Nous devons aller du sommet 1 à 6 sachant que les sommets 4 et 3 font partie de la zone dangereuse. Il est impossible de faire ce chemin, la réponse est "non".
  4. Nous devons aller du sommet 1 à 2 sachant que le sommet 4 fait partie de la zone dangereuse. Il est possible de faire ce chemin, la réponse est "oui".
  5. Nous devons aller du sommet 5 à 2 sachant que les sommets 4 et 3 font partie de la zone dangereuse. Il est impossible de faire ce chemin, la réponse est "non".
Exemple d'entrée
9
2
6 7
9
1 2
1 3
1 4
2 4
3 4
4 5
5 6
5 7
6 7
5
1 1 4
0 5 2
1 3 6
2 2 3
2 4 1
Exemple de sortie
oui
oui
non
oui
non
Exemple d'entrée
7
1
6
7
1 2
2 3
3 4
4 5
5 6
6 7
7 3
6
2 7 4
3 5 6
2 4 6
2 3 5
3 6 4
3 7 6
Exemple de sortie
non
non
non
non
non
non