Pagini recente » Cod sursa (job #967190) | Cod sursa (job #926779) | Cod sursa (job #1735738) | Cod sursa (job #919139) | Cod sursa (job #2718628)
#include <bits/stdc++.h>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int n,m,x,i,a,b,st,dr,v[1000005],viz[1000005],start,nr;
vector<int>mat[1000005];
int main()
{
f>>n>>m>>x;
start=x;
for(i=1; i<=m; i++)
{
f>>a>>b;
mat[a].push_back(b);
}
st=1;
dr=1;
v[1]=x;
viz[x]=1;
v[x]=0;
while(st<=dr)
{
x=v[st];
for(i=0;i<mat[x].size();i++)
if(viz[mat[x][i]]==0)
{
dr++;
v[dr]=mat[x][i];
viz[mat[x][i]]=viz[x]+1;;
}
st++;
}
for(i=1;i<=n;i++)g<<viz[i]-1<<" ";
}