Pagini recente » Cod sursa (job #1241483) | Cod sursa (job #1583826) | Cod sursa (job #800656) | Cod sursa (job #1909582) | Cod sursa (job #1835134)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int n,Q[100005],i,j,m,x,viz[100005],y;
vector <int> a[100005];
int main()
{ f>>n>>m>>x;
for (i=1;i<=m;i++)
{
int x,y;
f>>x>>y;
a[x].push_back(y);
}
Q[1]=x;
viz[x]=1;
int st=1,dr=1;
while (st<=dr)
{
y=Q[st];
vector <int> :: iterator it=a[y].begin(),sf=a[y].end();
for (;it!=sf;it++)
if (viz[*it]==0)
{
Q[++dr]=(*it);
viz[(*it)]=1+viz[y];
}
st++;
}
for (i=1;i<=n;i++)
g<<viz[i]-1<<' ';
return 0;
}