Pagini recente » Cod sursa (job #987949) | Cod sursa (job #1904776) | Cod sursa (job #918638) | Cod sursa (job #1462288) | Cod sursa (job #1312591)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
int N,M,x,a,b,d[100010];
vector <int> v[100010];
queue <int> Q;
ifstream f("bfs.in");
ofstream g("bfs.out");
int main()
{
f>>N>>M>>x;
for(;M;M--)
{
f>>a>>b;
v[a].push_back(b);
}
d[x]=1;
Q.push(x);
for(;Q.size();)
{
x=Q.front();
Q.pop();
for(auto i:v[x])
if(!d[i])
{
d[i]=d[x]+1;
Q.push(i);
}
}
for(int i=1;i<=N;i++)
g<<d[i]-1<<" ";
return 0;
}