Pagini recente » Cod sursa (job #1718568) | Cod sursa (job #2189059) | Cod sursa (job #249749) | Cod sursa (job #445624) | Cod sursa (job #755325)
Cod sursa(job #755325)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("bfs.in");
ofstream out("bfs.out");
vector<int> a[111111];
int l[111111],c[111111];
int main()
{
int n,m,i,s,x,y,st,dr;
in>>n>>m>>s;
for(i=1;i<=m;++i)
{
in>>x>>y;
a[x].push_back(y);
}
for(i=1;i<=n;++i)
{
l[i]=-1;
}
c[1]=s;
l[s]=0;
st=dr=1;
while(st<=dr)
{
for(i=0;i<a[c[st]].size();++i)
{
if(l[a[c[st]][i]]==-1)
{
c[++dr]=a[c[st]][i];
l[c[dr]]=l[c[st]]+1;
}
}
st++;
}
for(i=1;i<=n;++i)
{
out<<l[i]<<" ";
}
return 0;
}