Cod sursa(job #3274719)

Utilizator chiarimitrebuiecontquestionmarkmiruna mihailescu chiarimitrebuiecontquestionmark Data 8 februarie 2025 10:31:30
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include<fstream>
#include<queue>
#include<vector>
using namespace std;
int v[100001];
vector <int> graf[100001];
void bfs(int s){
 queue<int> q;
 q.push(s);
 while(!q.empty()){
    int front=q.front();
      for(int vecin:graf[front]){
        if(v[vecin]==-1){
           v[vecin]=v[front]+1;
          q.push(vecin);
        }

    }
    q.pop();
  }
}

int main(){
  ifstream fin("bfs.in");
  ofstream fout("bfs.out");
  int n, m, s, x, y;
  fin>>n>>m>>s;
  for(int i=0; i<m; i++){
    fin>>x>>y;
    graf[x].push_back(y);
  }
  for(int i=1; i<=n; i++)
    v[i]=-1;
  v[s]=0;
  bfs (s);
  for(int i=1; i<=n; i++)
    fout<<v[i]<<" ";
  return 0;
}