Entrepôt en T – Qualification 2026

Level 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$

Runtime constraints

Maximum memory usage
100000 kilobytes
Maximum execution time
1000 milliseconds

Input/output samples

Sample input
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
Sample output
4
Note

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.

Sample input
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
Sample output
0
Note

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.

Submit your solution

You have to register or log in to be able to submit your solution.