Pagini recente » Cod sursa (job #2202534) | Cod sursa (job #93011) | Statistici Georgi Georgiev (gogokefakefa) | Cod sursa (job #2984929) | Cod sursa (job #1038247)
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;
int a[1000][1000],c[2000],viz[1000],l[1000];
int n,m,prim,ultim,varf,x,y;
void parc_latime()
{int k;
while(prim<=ultim)
{varf=c[prim];
for(k=1;k<=n;k++)
if(a[varf][k]==1&&viz[k]==0)
{ultim++;
l[k]=l[varf]+1;
c[ultim]=k;
viz[k]=1;
}
prim++;
}
}
int main()
{
int nod;
ifstream f("bfs.in");
ofstream g("bfs.out");
f>>n>>m>>nod;
for(int i=0;i<m;i++)
{
f>>x>>y;
a[x][y]=1;
}
prim = ultim = 1;
viz[nod] = 1;
c[prim] = nod;
memset(l, -1, sizeof(l));
l[nod] = 0;
parc_latime();
for(int i = 1; i <= n; i++)
g << l[i] << " ";
return 0;
}