Pagini recente » Cod sursa (job #3294125) | Cod sursa (job #2266191) | Cod sursa (job #919685) | Cod sursa (job #3291522) | Cod sursa (job #990093)
Cod sursa(job #990093)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int n,m,x,c,y,s,i,j,z,q[100010],nr[1000010],lung[100010];
vector <int> a[1000010];
int main()
{
f>>n>>m>>s;
for(i=1;i<=m;i++)
{
f>>x>>y;
a[x].push_back(y);
nr[x]++;
}
lung[s]=1;
j=1;
q[j]=s;
c=1;
while(c<=j)
{
for(i=0;i<nr[q[c]];i++)
{
if(!lung[a[q[c]][i]])
{
lung[a[q[c]][i]]=lung[q[c]]+1;
q[++j]=a[q[c]][i];
}
}
c++;
}
for(i=1;i<=n;i++)
g<<lung[i]-1<<" ";
g<<'\n';
return 0;
}