Pagini recente » Cod sursa (job #2499044) | Cod sursa (job #233114) | Cod sursa (job #2220812) | Cod sursa (job #936896) | Cod sursa (job #2072958)
#include <bits/stdc++.h>
#define Nmax 100011
using namespace std;
int v,m,viz[Nmax],k,stiva[Nmax],st=1,dr=1,dists,distante[Nmax],dist,s;
vector <int> adj[Nmax];
void bfs (int nod,int dist)
{
if (dist<distante[nod] || distante[nod]==-1)
{
for (int i=1;i<adj[nod].size();++i)
{
bfs(adj[nod][i],dist+1);
}
}
}
int main()
{
ifstream fin ("bfs.in");
ofstream fout ("bfs.out");
fin>>v>>m>>s;
for (int i=1;i<=m;++i)
{
int a,b;
fin>>a>>b;
adj[a].push_back(b);
}
for (int i=1;i<=v;++i)
{
distante[i]=-1;
}
bfs(s,0);
for (int i=1;i<=n;++i)
{
fout<<distante[i]<<" ";
}
}