Pagini recente » Cod sursa (job #2306814) | Cod sursa (job #2767739) | Cod sursa (job #882276) | Cod sursa (job #1700293) | Cod sursa (job #1826134)
#include <fstream>
#include <vector>
#define DIM 100001
using namespace std;
int p,u,i,j,x,y,v[DIM],c[DIM],S,vecin,n,m;
vector<int> L[100001];
ifstream fin ("bfs.in");
ofstream fout ("bfs.out");
int main (){
fin>>n>>m>>S;
for (i=1;i<=m;i++){
fin>>x>>y;
L[x].push_back(y);
}
p = 1;
u = 1;
c[1] = S;
v[S] = 1;
while (p<=u){
for (i=0;i<L[c[p]].size();i++){ // lungime
vecin = L[c[p]][i];
if (v[vecin] == 0){
u++;
c[u] = vecin;
v[vecin] = 1+ v[ c[p] ];
}
}
p++;
}
for (i=1;i<=n;i++){
fout<<v[i]-1<<" ";
}
return 0;
}