Pagini recente » Cod sursa (job #560858) | Cod sursa (job #1934663) | Rating S Larisa (Llll) | Cod sursa (job #416241) | Cod sursa (job #2667670)
#include <bits/stdc++.h>
#include <iostream>
using namespace std;
const int maxNr = 1e5;
bool viz[maxNr];
int costuri[maxNr];
int main(){
int n,m,start;
vector<int> v[maxNr];
queue<int> q;
cin >> n >> m >> start;
for(int i=0;i<m;i++){
int x,y;
cin >> x >> y;
v[x].push_back(y);
}
q.push(start);
memset(costuri, -1, sizeof(costuri));
costuri[start]=0;
viz[start]=1;
while(!q.empty()){
int nod = q.front();
q.pop();
for(auto it : v[nod])
if(!viz[it]){
viz[it]=1;
cout << it << endl;
costuri[it]=costuri[nod]+1;
q.push(it);
}
}
for(int it=1;it<=n;it++)
cout << costuri[it] << ' ';
//linux output debug.
cout << '\n';
return 0;
}