Pagini recente » Cod sursa (job #756911) | Cod sursa (job #3192322) | Cod sursa (job #469951) | Cod sursa (job #3199934) | Cod sursa (job #1225900)
#include<fstream>
#include <vector>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
int c2[100000],c[100001],viz[100001],zi,u,p,i,x,y,k,n,X,m;
vector <int> v[100001];
int main()
{
fin>>n>>m>>X;
for(i=1;i<=m;i++)
{
fin>>x>>y;
v[x].push_back(y);
}
p=u=1;
c[u]=X;
viz[X]=1;
while(u<=p)
{
for(i=0;i<v[c[u]].size();i++)
{
if(!viz[v[c[u]][i]])
{
viz[v[c[u]][i]]=viz[c[u]]+1;
p++;
c[p]=v[c[u]][i];
}
}
u++;
}
for(i=1;i<=n;i++)
{
if(!viz[i])
fout<<"-1 ";
else
fout<<viz[i]-1<<" ";
}
return 0;
}