Pagini recente » Cod sursa (job #2846133) | Cod sursa (job #2875942) | Cod sursa (job #2370973) | Cod sursa (job #2652117) | Cod sursa (job #1948151)
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
long long m,n,i,j,viz[10000]={},v[10000]={},u,coada[10000],a[100][100]={};
int s,k;
fstream f("bfs.in",ios::in);
f>>n>>m>>s;
for(i=1;i<=m;i++)
{
f>>j>>k;
a[j][k]=1;
}
f.close();
u=1;
coada[u]=s;
i=1;
viz[s]=1;
while(i<=u)
{
k=coada[i];
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;
}
}
i++;
}
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();
}