Pagini recente » Cod sursa (job #1421465) | Cod sursa (job #533356) | Cod sursa (job #1893221) | Cod sursa (job #79004) | Cod sursa (job #2501655)
#include <bits/stdc++.h>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
queue<int>q;
vector<int>graph[100005];
int rez[100005];
int n, m, st, a, b;
void solve()
{
q.push(st);
rez[st]=1;
int sus;
while (!q.empty())
{
sus=q.front();
q.pop();
for (auto &v:graph[sus])
{
if (rez[v]==0)
{
rez[v]=rez[sus]+1;
q.push(v);
}
}
}
for (int i=1; i<=n; ++i)
g << rez[i]-1 <<' ';
}
int main()
{
f >> n >> m >> st;
for (int i=1; i<=m; ++i)
{
f >> a >> b;
graph[a].push_back(b);
}
solve();
return 0;
}