https://programmers.co.kr/learn/courses/30/lessons/49189
Soluzione
ref: Blog Si tratta di un problema di attraversamento di grafi, quindi si può scegliere tra DFS e BFS. Ho usato BFS.
- Dato che vengono fornite solo le relazioni tra archi, si costruisce un nuovo dizionario del grafo che memorizza i nodi adiacenti per ogni nodo.
- Partendo dal nodo 1, si esegue BFS sul dizionario del grafo.
- È un grafo non orientato senza pesi sugli archi. Quindi, aggiornando i valori di distanza la prima volta che si visita ogni nodo durante la BFS, si ottiene la distanza minima dal nodo 1.
Codice
https://github.com/naem1023/codingTest/blob/master/graph/pg-49189.py