Pagini recente » Profil EugenStoica | Cod sursa (job #2404428) | Cod sursa (job #702289) | Cod sursa (job #1180811) | Cod sursa (job #1644792)
#include <fstream>
#include <vector>
#include <deque>
using namespace std;
ifstream fin ("bfs.in");
ofstream fout ("bfs.out");
int n, m, first, x, y, i;
vector <int> v[100005];
deque <int> q;
int a[100005], nod;
bool viz[100005];
int main()
{
fin >> n >> m >> first;
for(i=1; i<=m; i++)
{
fin >> x >> y;
v[x].push_back(y);
}
q.push_back(first);
viz[first] = 1;
a[first] = 1;
while (!q.empty())
{
nod = q.front();
q.pop_front();
for (i=0; i<v[nod].size(); i++)
if (viz[v[nod][i]] == 0)
{
viz[v[nod][i]] = 1;
a[v[nod][i]] = a[nod]+1;
q.push_back(v[nod][i]);
}
}
for (i=1; i<=n; i++)
fout << a[i]-1 << " ";
return 0;
}