Cod sursa(job #2564328)

Utilizator TUdOr73Minciunescu Tudor TUdOr73 Data 1 martie 2020 20:11:26
Problema BFS - Parcurgere in latime Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("bfs.in");
ofstream g("bfs.out");
int a[10000][10000],T[1000],v[1000],l[1000];
int main()
{   int n,m,s;
    f>>n>>m>>s;
    int i,x,y;
    for(i = 1;i<= m;i++){
        f>>x>>y;
        a[x][y] = 1;
    }
    for( i =1;i<= n;i++)
        l[i] = -1;
    int cap = 1;
    int coada = 1;
    v[cap] = s;
    T[s]=1;
    l[s] = 0;
    while(cap <= coada){
        for(i = 1;i<= n;i++){
            if(a[v[cap]][i] == 1 && T[i] ==0){
                T[i] = 1;coada++;v[coada] = i;
                l[v[coada]] = l[v[cap]] + 1;

            }
        }
        cap++;
    }
    for(i = 1;i<= n;i++)
        g << l[i] << " ";
    return 0;
}