Pagini recente » Cod sursa (job #1862561) | Cod sursa (job #2845028) | Cod sursa (job #3286141) | Cod sursa (job #2686376) | Cod sursa (job #2706090)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
vector<int> G[100005];
queue<int> Q;
int viz[100005];
int n,m;
int main() {
int i,nod,a,b,vecin;
fin>>n>>m>>nod;
for(i = 1; i <= m; i++){
fin>>a>>b;
G[a].push_back(b);
}
Q.push(nod);
viz[nod] = 1;
while(!Q.empty()){
nod = Q.front();
for(i = 0; i < G[nod].size(); i++){
vecin = G[nod][i];
if(viz[vecin] == 0){
Q.push(vecin);
viz[vecin] = viz[nod]+1;
}
}
Q.pop();
}
for(i = 1; i <= n; i++){
fout<<viz[i]-1<<' ';
}
return 0;
}