Cod sursa(job #1835131)

Utilizator AlexBlagescuBlagescu Alex George AlexBlagescu Data 26 decembrie 2016 13:29:02
Problema BFS - Parcurgere in latime Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int n,Q[105],i,j,m,x,viz[105],y;
vector <int> a[105];
int main()
{   f>>n>>m>>x;
    for (i=1;i<=m;i++)
    {
        int x,y;
        f>>x>>y;
        a[x].push_back(y);
    }
    Q[1]=x;
    viz[x]=1;
    int st=1,dr=1;
    while (st<=dr)
    {
        y=Q[st];
        vector <int> :: iterator it=a[y].begin(),sf=a[y].end();
        for (;it!=sf;it++)
            if (viz[*it]==0)
        {
            Q[++dr]=(*it);
            viz[(*it)]=1+viz[y];
        }
        st++;
    }
    for (i=1;i<=n;i++)
        g<<viz[i]-1<<' ';
    return 0;
}