Pagini recente » Cod sursa (job #907258) | Cod sursa (job #3258165) | Cod sursa (job #2915664) | Cod sursa (job #712790) | Cod sursa (job #1948144)
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
long long m,n,i,j,viz[10000]={},v[10000]={},p,u,coada[10000],a[100][100]={};
int s,k,q;
fstream f("bfs.in",ios::in);
f>>n>>m>>s;
for(i=1;i<=m;i++)
{
f>>p>>q;
a[p][q]=1;
}
f.close();
u=1;
coada[u]=s;
p=1;
viz[s]=1;
while(p<=u)
{
k=coada[p];
for(j=1;j<=n;j++)
{
if((viz[j]==0)&&(a[k][j]==1))
{
v[j]=v[k]+1;
viz[j]=1;
u++;
coada[u]=j;
}
}
p++;
}
fstream g("bfs.out",ios::out);
for(i=1;i<=n;i++)
{
if(v[i]==0)
{
if(i==s)
{
g<<"0 ";
}
else
{
g<<"-1 ";
}
}
else
{
g<<v[i]<<" ";
}
}
g.close();
}