Pagini recente » Cod sursa (job #315715) | Cod sursa (job #1870823) | Cod sursa (job #1974230) | Cod sursa (job #3162741) | Cod sursa (job #1225894)
#include<fstream>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
int n,m,s,viz[10000],a[1000][1000],x,y,p,q,c[10000],i;
int main()
{
fin>>n>>m>>s;
for(i=1;i<=m;i++)
{
fin>>x>>y;
a[x][y]=1;
}
p=q=1;
c[p]=s;
viz[s]=1;
while(p<=q)
{
for(i=1;i<=n;i++)
{
if(a[c[p]][i] && !viz[i])
{
q++;
c[q]=i;
viz[c[q]]=viz[c[p]]+1;
}
}
p++;
}
for(i=1;i<=n;i++)
{
if(!viz[i])
fout<<"-1 ";
else
fout<<viz[i]-1<<" ";
}
return 0;
}