Pagini recente » Cod sursa (job #2691667) | Cod sursa (job #3289691) | Cod sursa (job #297021) | Cod sursa (job #315221) | Cod sursa (job #2471967)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
vector<int> v[1000001]; deque<int> d; int len[1000001],V,E,P,i,x1,x2,p,auxp;
int main()
{
//citire
fin>>V>>E>>P; for(i=1;i<=E;i++){fin>>x1>>x2;v[x1].push_back(x2);}
//lee prin graf :))
d.push_back(P);
while(!d.empty()){
p=d.front(); d.pop_front();
while(!v[p].empty()){
auxp=v[p].back(); v[p].pop_back();
if(!len[auxp] && auxp!=P){d.push_back(auxp); len[auxp]=len[p]+1;}
}
}
for(i=1;i<=V;i++){
if(len[i])fout<<len[i]<<" ";
else if(i==P)fout<<"0 ";
else fout<<"-1 ";
}
return 0;
}