Pagini recente » Cod sursa (job #1703591) | template/preoni-2007/footer | Cod sursa (job #247949) | Cod sursa (job #2823764) | Cod sursa (job #1138844)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
std::vector <int> l[100010];
int n,m,s,d[100010],c[100010],v[100001],a,b,p,u,i;
int main()
{
f>>n>>m>>s;
for(i=1;i<=m;i++){
f>>a>>b;
l[a].push_back(b);
}
p=u=1;
c[1]=s;
d[s]=1;
v[s]=1;
while(p<=u){
a=c[p];
for(i=0;i<l[c[p]].size();i++)
if(v[l[a][i]]==0){
c[++u]=l[a][i];
d[l[a][i]]=d[c[p]]+1;
v[l[a][i]]=1;
}
p++;
}
for(i=1;i<=n;i++)
g<<d[i]-1<<" ";
return 0;
}