Cod sursa(job #2415708)

Utilizator KRAKEN01Sergiu Adrian KRAKEN01 Data 26 aprilie 2019 14:15:05
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.99 kb
#include <vector>
//#include <iostream>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
#include <unordered_map>
#include <time.h>
#include <iomanip>
#include <deque>
#include <math.h>
#include <cmath>
#include <assert.h>
#include <stack>
#include <bitset>
#include <random>
#include <chrono>
#include <fstream>
using namespace std;





ifstream cin ("bfs.in");
ofstream cout ("bfs.out");

vector <int> v[100100];
queue <int> q;
bool used[100100];
int lvl[100100];
int main(){
int noduri,muchii,sursa;
cin>>noduri>>muchii>>sursa;
for(int i=1;i<=muchii;i++)
{
    int x,y;
    cin>>x>>y;
    v[x].push_back(y);
}
while(!q.empty()){
    int nod=q.front();
    q.pop();
    for(int i=0;i<v[nod].size();i++){
        if(!used[v[nod][i]]){q.push(v[nod][i]);
        used[v[nod][i]]=true;
        lvl[v[nod][i]]=lvl[nod]+1;}
    }
}
for(int i=1;i<=noduri;i++){
    if(!used[i]){
        lvl[i]=-1;
    }
    cout<<lvl[i]<<" ";
}
return 0;
}