Cod sursa(job #2417562)

Utilizator WoodsOfYpresAdora Vivos WoodsOfYpres Data 30 aprilie 2019 13:47:49
Problema BFS - Parcurgere in latime Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <vector>
#include <fstream>

using namespace std;
int dist[100005];
vector <int> graf[100005];
int vizitat[100005];
void BFS(int x)
{
    vizitat[x]=1;
    int i,lim;
    lim=graf[x].size();
    for(i=0;i<lim;i++)
    {
        if(vizitat[graf[x][i]]==0)
        {
            dist[graf[x][i]]=dist[x]+1;
            BFS(graf[x][i]);
        }
    }
}
int main()
{
    ifstream f("bfs.in");
    ofstream g("bfs.out");
    int N,M,i,x,y,S;
    f>>N>>M>>S;
    for(i=1;i<=M;i++)
    {
        f>>x>>y;
        graf[x].push_back(y);
    }
    for(i=1;i<=N;i++)
        dist[i]=-1;
    dist[S]=0;
    BFS(S);
    for(i=1;i<=N;i++)
        g<<dist[i]<<" ";
    return 0;
}