Pagini recente » Cod sursa (job #1714533) | Cod sursa (job #172131) | Cod sursa (job #2334257) | Cod sursa (job #1212095) | Cod sursa (job #1733649)
#include <bits/stdc++.h>
using namespace std;
unsigned int N, M, S;
unsigned int x, y;
vector <int> v[100001];
deque <int> q;
bool seen[100001];
unsigned int node;
unsigned int i;
int sol[100001];
int main ()
{
ifstream fin ("bfs.in");
fin >> N >> M >> S;
for (i=1; i<=M; i++)
{
fin >> x >> y;
v[x].push_back(y);
}
fin.close();
q.push_back(S);
seen[S] = 1;
sol[S] = 1;
while (!q.empty())
{
node = q.front();
q.pop_front();
for (i=0; i<v[node].size(); i++)
if (seen[v[node][i]] == 0)
{
seen[v[node][i]] = 1;
sol[v[node][i]] = sol[node]+1;
q.push_back(v[node][i]);
}
}
ofstream fout ("bfs.out");
for (i=1; i<=N; i++)
fout << sol[i]-1 << ' ';
fout.close();
return 0;
}