Pagini recente » Cod sursa (job #1578855) | Cod sursa (job #2293911) | Cod sursa (job #103162) | Cod sursa (job #1992015) | Cod sursa (job #2417650)
#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])<<' ';}