Cod sursa(job #1919213)

Utilizator izabelaiancuIancu Izabela Valentina izabelaiancu Data 9 martie 2017 18:20:43
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>

using namespace std;
int q[10001],v[10001][10001],viz[10001],d[10001];

int main()
{
    int FRONT=1,REAR=1,n,m,i,x,y,s;
ifstream in("date.in");
    in >> n;
    in >> m;
    in>>s;
    for(i=1; i<=m; i++)
    {
        in>>x>>y;
        v[x][y]=1;
    }

    q[FRONT]=s;
    viz[s]=1;
    d[s]=0;
    while(FRONT<=REAR)
    {
        for(i=1; i<=n; i++)
            if(v[ q[FRONT] ][i]== 1 && viz[i]!=1)
            {
                REAR++;
                q[REAR]=i;
                viz[i]=1;
                d[i] = d[ q[FRONT] ]  + 1;
            }
        FRONT++;
    }
    for(i=1;i<=n;i++)
    {
        if(viz[i]==0)cout<<-1<<' ';
    else
    cout<<d[i]<<' ';}

return 0;}