Pagini recente » Cod sursa (job #2123872) | Cod sursa (job #26760) | Cod sursa (job #184333) | Cod sursa (job #473907) | Cod sursa (job #2718627)
#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<<" ";
}