Pagini recente » Cod sursa (job #1799547) | Cod sursa (job #2119972) | Cod sursa (job #594943) | Istoria paginii runda/simulare-cartita-02 | Cod sursa (job #1418148)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("bfs.in");
ofstream g ("bfs.out");
int c[10005],v[10005],n,m,s,a[10005][100],inc,sf,i,x,y;
int main()
{
f>>n>>m>>s;
for (i=1;i<=n;i++) v[i]=-1;
v[s]=0;
for (i=1;i<=m;i++)
{
f>>x>>y;
a[x][0]++;
a[x][a[x][0]]=y;
}
c[0]=s;
while (inc<=sf)
{
x=c[inc];
inc++;
for (i=1;i<=a[x][0];i++)
{
if (v[a[x][i]]==-1)
{
v[a[x][i]]=v[x]+1;
c[++sf]=a[x][i];
}
}
}
for (i=1;i<=n;i++)
g<<v[i]<<' ';
return 0;
}