Entrepôt en T – Qualification 2026

Niveau 4 ⋅ Validation weight: 15%

Énoncé

Joseph pense avoir trouvé un endroit où se cachent les robots indépendantistes ! En entrant dans l'entrepôt, il se rend compte que les robots sont dans une pièce à l'autre bout. Afin de les rejoindre, il doit emprunter un dédale de portes et couloirs.

L'entrepôt est constitué de $P$ pièces et de $N$ couloirs les reliant. Au milieu de chaque couloir peut se trouver une porte d'une couleur entre $1$ et $M$.

Des règles strictes de sécurité sont appliquées dans cet entrepôt : Joseph ne peut emprunter plus de $S$ fois d'affilée une porte de la même couleur.

Étant donné un plan de l'entrepôt, déterminez le nombre minimum de portes que Joseph devra franchir pour atteindre la pièce de sortie où se trouvent les robots.

Entrée

L’entrée contiendra :

  • Sur la première ligne, un entier : N, le nombre de couloirs de l'entrepôt.
  • Sur la ligne suivante, un entier : P, le nombre de pièces de l'entrepôt.
  • Sur la ligne suivante, un entier : M, le nombre de couleurs différentes pouvant être appliquées aux portes.
  • Sur la ligne suivante, un entier : S, le nombre de portes de la même couleur pouvant être franchies sans interruption.
  • Sur la ligne suivante, un entier : X, la pièce de départ.
  • Sur la ligne suivante, un entier : Y, la pièce d'arrivée.
  • Sur les lignes suivantes, une liste de N éléments : entrepot, la liste de tous les couloirs de l'entrepôt.
    • Une ligne par élément de la liste : séparés par des espaces, un entier A (la première pièce), un entier B (la seconde pièce), et un entier C (la couleur de la porte du couloir, ou 0 s'il n'y a pas de porte).

Sortie

Afficher le nombre minimum de portes franchies afin d'atteindre la pièce d'arrivée. Si cela n'est pas possible, afficher -1.

Contraintes

  • $1 \le N \le 2\,750$
  • $2 \le P \le 1\,750$
  • $2 \le M \le N$
  • $1 \le S \le N$
  • $1 \le A, B, X, Y \le P$
  • $0 \le C \le M$

Contraintes de performance

  • $1 \le N \le 8\,250$
  • $2 \le P \le 7\,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
7
6
2
1
1
4
1 2 1
2 6 2
2 3 2
6 3 1
5 6 2
5 4 1
3 4 2
Exemple de sortie
4
Commentaire

Ici, le chemin le plus court pour Joseph serait 1 -> 2 -> 3 -> 4, ce qui fait un total de 3 portes. Cependant, Joseph ne peut pas passer 2 fois d'affilée par une porte bleue (2 -> 3 puis 3 -> 4).

Couloirs démo 0

Joseph peut se déplacer de la pièce 1 à 2 en empruntant un couloir avec une porte rouge, puis de la pièce 2 à 6 en passant par une porte bleue, puis de la pièce 6 à 3 en passant par une porte rouge et enfin de la pièce 3 à 4 en passant par une porte bleue.

Exemple d'entrée
16
9
2
2
9
8
1 2 0
1 6 1
1 4 0
4 2 2
4 7 0
4 8 1
8 7 0
7 2 1
7 3 2
2 6 2
2 5 1
2 3 0
3 5 0
5 9 2
5 6 0
9 6 0
Exemple de sortie
0
Commentaire

Couloirs démo 2

Ici, Joseph peut atteindre l'arrivée sans passer par une porte en empruntant ce chemin : 9, 6, 5, 3, 2, 1, 4, 7, 8.