Cod sursa(job #1826134)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 10 decembrie 2016 10:45:54
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <vector>
#define DIM 100001
using namespace std;
int p,u,i,j,x,y,v[DIM],c[DIM],S,vecin,n,m;
vector<int> L[100001];
ifstream fin ("bfs.in");
ofstream fout ("bfs.out");
int main (){

    fin>>n>>m>>S;
    for (i=1;i<=m;i++){
        fin>>x>>y;
        L[x].push_back(y);
    }
    p = 1;
    u = 1;
    c[1] = S;
    v[S] = 1;
    while (p<=u){
        for (i=0;i<L[c[p]].size();i++){ // lungime
            vecin = L[c[p]][i];
            if (v[vecin] == 0){
                u++;
                c[u] = vecin;

                v[vecin] = 1+ v[ c[p] ];
            }

        }
        p++;
    }
    for (i=1;i<=n;i++){
        fout<<v[i]-1<<" ";
    }





    return 0;
}