Cod sursa(job #1214436)

Utilizator TibixbAndrei Tiberiu Tibixb Data 30 iulie 2014 13:16:54
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<fstream>
#include<vector>
# define DIMN 100007
using namespace std;
int n, m2, s, x, y, i, c[100007], m[100007], p, u, nod, fiu;
vector<int> L[DIMN];
ifstream in("bfs.in ");
ofstream out("bfs.out");
int main (){
    in>>n>>m2>>s;
    for(i=1; i<=m2; i++){
        in>>x>>y;
        L[x].push_back(y);
    }
    c[1]=s;
    p=1; u=1;
    m[s]=1;
    while(p<=u){
        nod=c[p];
        for(i=0; i<L[nod].size(); i++){
            fiu=L[nod][i];
            if(m[fiu]==0){
                c[++u]=fiu;
                m[fiu]=m[nod]+1;
            }
        }
        p++;
    }
    for(i=1; i<=n; i++){
        out<<m[i]-1<<" ";
    }
return 0;
}