Pagini recente » Cod sursa (job #2712602) | Cod sursa (job #2142897) | Cod sursa (job #2766606) | Cod sursa (job #1459309) | Cod sursa (job #2165582)
#include <bits/stdc++.h>
using namespace std;
ifstream F("bfs.in");
ofstream G("bfs.out");
int n, m, start, x, y, d[100005];
vector<int> a[100005];
queue<int> q;
void bfs(int nod){
q.push(start);
d[start] = 1;
while(!q.empty()){
x = q.front();
q.pop();
for(auto it:a[x]){
if(!d[it]){
d[it] = d[x]+1;
q.push(it);
}
}
}
}
int main()
{
F >> n >> m >> start;
for(int i = 1; i <= m; ++ i)
F >> x >> y, a[x].push_back(y);
bfs(start);
for(int i = 1; i <= n; ++ i)
G << d[i]-1 << " ";
return 0;
}