Cod sursa(job #2417650)

Utilizator ALEx6430Alecs Andru ALEx6430 Data 30 aprilie 2019 18:11:36
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.42 kb
#include <bits/stdc++.h>
using namespace std;ifstream I("bfs.in");ofstream O("bfs.out");main(){int n,m,s;I>>n>>m>>s;vector<vector<int>>A(n+1,vector<int>());for(int i=1;i<=m;i++){int x,y;I>>x>>y;A[x].push_back(y);}vector<int>D(n+1);vector<bool>u(n+1);queue<int>q({s});while(!q.empty()){int N=q.front();q.pop();u[N]=1;for(auto i:A[N])if(!u[i]){u[i]=1;D[i]=D[N]+1;q.push(i);}}for(int i=1;i<=n;i++)O<<(!D[i]?(i==s?0:-1):D[i])<<' ';}