Pagini recente » Cod sursa (job #1849415) | Cod sursa (job #3219933) | Cod sursa (job #764721) | Cod sursa (job #2310191) | Cod sursa (job #1948140)
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
long m,n,i,j,viz[100]={},v[100]={},p,u,coada[100],a[10][10]={};
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();
}