Pagini recente » Rating Melania Dascalu (melanie) | Cod sursa (job #1035418) | Cod sursa (job #140648) | Cod sursa (job #2196178) | Cod sursa (job #2650131)
#include <fstream>
#include <vector>
#include <deque>
#define f in
#define g out
using namespace std;
ifstream in ( "bfs.in" );
ofstream out( "bfs.out" );
vector < int > L[100100];
int n, m, x, y, i, s, nod, vecin;
int cost[100100];
deque < int > deq;
int main() {
f>>n>>m>>s;
for ( i=1; i <= m; i++ ){
f>>x>>y;
L[x].push_back(y);
}
deq.push_back(s); cost[s] = 1;
while ( !deq.empty() ) {
nod = deq.front();
deq.pop_front();
for ( i=0; i < L[nod].size(); i++ ){
vecin = L[nod][i];
if ( !cost[vecin] ){
cost[vecin] = cost[nod]+1;
deq.push_back( vecin );
}
}
}
for ( i=1; i <= n; i++ )
g<<cost[i]-1<<" ";
return 0;
}