Pagini recente » Cod sursa (job #2159090) | Cod sursa (job #766667) | Cod sursa (job #950778) | Cod sursa (job #3167739) | Cod sursa (job #2099808)
#include<bits/stdc++.h>
using namespace std;
int n,m,x,y,c;
vector<int>V[100100];
queue<int>Q;
int viz[100100];
void BFS(int x) {
Q.push(x);
viz[x]=1;
while (!Q.empty()) {
x = Q.front(); Q.pop();
for (int i=0; i<V[x].size(); i++) {
if (!viz[V[x][i]]) {
viz[V[x][i]]=viz[x]+1;
Q.push(V[x][i]);
}
}
}
}
int main() {
ifstream cin("bfs.in");
ofstream cout("bfs.out");
cin>>n>>m>>c;
for (int i=0; i<m; i++) {
cin>>x>>y;
V[x].push_back(y);
}
BFS(c);
for (int i=1; i<=n; i++) {
cout<<viz[i]-1<<" ";
}
return 0;
}