Pagini recente » Cod sursa (job #3135862) | Cod sursa (job #1485334) | Cod sursa (job #726958) | Cod sursa (job #1824395) | Cod sursa (job #2809481)
#include <fstream>
#include <vector>
#include <algorithm>
#include <deque>
#define MOD 4001
using namespace std;
ifstream cin("bfs.in");
ofstream cout("bfs.out");
vector<int> m[100009] ;
int d[100009] ;
void lee(int nod)
{
deque<int> dq ;
dq.push_back(nod) ;
d[nod] = 1 ;
while(dq.size())
{
int nod = dq.front() ;
dq.pop_front() ;
for(int f = 0 ; f < m[nod].size() ; f ++)
if(!d[m[nod][f]] || (d[nod] + 1 < d[m[nod][f]]))
d[m[nod][f]] = d[nod] + 1, dq.push_back(m[nod][f]) ;
}
}
int main()
{
int n, q, s ;
cin >> n >> q >> s ;
while(q --)
{
int a, b ;
cin >> a >> b ;
m[a].push_back(b) ;
}
lee(s) ;
for(int f = 1 ; f <= n ; f ++)
cout << d[f] - 1 << " " ;
return 0 ;
}