Cod sursa(job #3313059)

Utilizator busoistefanBusoi Radulescu Stefan busoistefan Data 2 octombrie 2025 08:08:31
Problema BFS - Parcurgere in latime Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");

vector<int> vecini[100007];
int main() {

  int n,m,X;
  f>>n>>m>>X;
  for (int i=0;i<m;i++) {
    int x,y;
    f>>x>>y;
    vecini[y].push_back(x);
  }
  for (int i=1;i<=n;i++) {
    int distanta[100007]={0};
    distanta[i]=1;
    queue<int> deVizitat;
    deVizitat.push(i);
    while (!deVizitat.empty()) {
      int x=deVizitat.back();
      deVizitat.pop();
      for (int j:vecini[x]) {
          if (distanta[j]==0) {
            distanta[j]=distanta[x]+1;
            deVizitat.push(j);
          }
      }
    }
    g<<distanta[X]-1<<" ";
  }

  return 0;
}