Cod sursa(job #2693511)

Utilizator TiberiwTiberiu Amarie Tiberiw Data 6 ianuarie 2021 11:54:54
Problema BFS - Parcurgere in latime Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
using namespace std;
int a[100][100],n,m,distanta[100],S;

void citire()
{

    ifstream f("bfs.in");
    f>>n>>m>>S;
    int x,y;
    for(int k=1;k<=m;k++)
        {
            f>>x>>y;
            a[x][y]=1;
        }

    int i,j;
for(i=1;i<=n;i++)
    distanta[i]=-1;
}
void BFS(int v)
{
   int inc=1,sf=1,coada[100],j;
   coada[inc]=v;
   distanta[v]=0;
   while(inc<=sf)
   {
       v=coada[inc];
       for(j=1;j<=n;j++)
        if(a[v][j]&&distanta[j]==-1)
       {
           coada[++sf]=j;
           distanta[j]=distanta[v]+1;
       }
       inc++;
   }

}
int main()
{

    citire();
    int i;
  BFS(S);
  ofstream g("bfs.out");
for(i=1;i<=n;i++)
    g<<distanta[i]<<" ";

    return 0;
}