Pagini recente » Cod sursa (job #3224391) | Cod sursa (job #493152) | Cod sursa (job #957677) | Cod sursa (job #1107261) | Cod sursa (job #2564328)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int a[10000][10000],T[1000],v[1000],l[1000];
int main()
{ int n,m,s;
f>>n>>m>>s;
int i,x,y;
for(i = 1;i<= m;i++){
f>>x>>y;
a[x][y] = 1;
}
for( i =1;i<= n;i++)
l[i] = -1;
int cap = 1;
int coada = 1;
v[cap] = s;
T[s]=1;
l[s] = 0;
while(cap <= coada){
for(i = 1;i<= n;i++){
if(a[v[cap]][i] == 1 && T[i] ==0){
T[i] = 1;coada++;v[coada] = i;
l[v[coada]] = l[v[cap]] + 1;
}
}
cap++;
}
for(i = 1;i<= n;i++)
g << l[i] << " ";
return 0;
}