Cod sursa(job #1312917)

Utilizator BaltaretuAndreiBaltaretu Andrei BaltaretuAndrei Data 10 ianuarie 2015 09:45:02
Problema BFS - Parcurgere in latime Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

using namespace std;

ifstream f("bfs.in");
ofstream g("bfs.out");

int i,j,n,v[10001][10001],viz[100001],m,s,x,y,Q[10001],l,e,p;

int main()
{
    f>>n>>m>>s;
    for(i=1;i<=m;i++)
        {
            f>>x>>y;
            v[x][0]++;
            v[x][v[x][0]]=y;
        }

    Q[1]=s;
    p=1;
    l=1;
    viz[s]=1;
    while(p<=l)
    {
        e=Q[p];
        for(i=1;i<=v[e][0];i++)
        if(viz[v[e][i]]==0)
        {
            l++;
            Q[l]=v[e][i];
            viz[Q[l]]=viz[Q[p]]+1;
        }
        p++;
    }

    for(i=1;i<=n;i++)
        g<<viz[i]-1<<" ";

    return 0;
}