Cod sursa(job #1989829)

Utilizator andr3i_kaabAndrei Ciineanu andr3i_kaab Data 9 iunie 2017 01:08:24
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");

int n,m,s,viz[1000],q[1000]; //a[1000][1000]
vector <int> a[100001];

int main()
{int i,j,x,y,p,u,k;
f>>n>>m>>s;
for (i=1; i<=m; i++)
{
    f>>x>>y;
    a[x].push_back(y);
    //a[x][y]=1;
}
p=1; q[p]=s; u=p;  viz[s]=1;
while (p<=u)
{
    k=q[p]; p++;
    for (i=0; i<=a[k].size(); i++)
        if (viz[a[k][i]]==0)
            {
                u++;
                q[u]=i; viz[i]=viz[k]+1;
            }
}
for(i=1;i<=n;i++) g<<viz[i]-1<<" ";
    return 0;
}