Cod sursa(job #3314323)
| Utilizator | Data | 9 octombrie 2025 13:48:57 | |
|---|---|---|---|
| Problema | BFS - Parcurgere in latime | Scor | 0 |
| Compilator | py | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
from collections import deque
def main():
with open("bfs.in", "r") as f:
N, M, S = map(int, f.readline().split())
adj = [[] for _ in range(N + 1)]
for _ in range(M):
u, v = map(int, f.readline().split())
adj[u].append(v)
dist = [-1] * (N + 1)
dist[S] = 0
q = deque([S])
while q:
u = q.popleft()
for v in adj[u]:
if dist[v] == -1:
dist[v] = dist[u] + 1
q.append(v)
with open("bfs.out", "w") as f:
f.write(' '.join(str(dist[i]) for i in range(1, N + 1)))
if __name__ == "__main__":
main()
