Pagini recente » Cod sursa (job #1058555) | Cod sursa (job #2156479) | Cod sursa (job #245184) | Cod sursa (job #2507539) | Cod sursa (job #3314323)
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()