Pagini recente » Cod sursa (job #2473173) | Cod sursa (job #1926721) | Cod sursa (job #1025055) | Cod sursa (job #2512839) | Cod sursa (job #1982518)
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
ifstream f ("bfs.in");
ofstream g ("bfs.out");
vector < int > v[100002];
int seen[100002];
int main()
{
int nod, arce , sursa , i , x , y , l , new_nod;
f >> nod >> arce >> sursa;
for(i = 1; i <= arce; i++)
f >> x >> y , v[x].push_back(y);
queue < int > Q;
Q.push(sursa);
seen[sursa] = 1;
while(not Q.empty())
{
sursa = Q.front();
l = v[sursa].size();
Q.pop();
//cout << seen[sursa] << " " << sursa << endl;
for(i = 0; i < l; i++)
{
new_nod = v[sursa][i];
if(not seen[new_nod])
seen[new_nod] = seen[sursa] + 1,Q.push(new_nod);
}
}
for(i = 1; i <= nod; i++)
g << seen[i] - 1 << " ";
return 0;
}