Cod sursa(job #897938)

Utilizator vandrei95Zamfir Vlad vandrei95 Data 27 februarie 2013 23:09:09
Problema BFS - Parcurgere in latime Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include<fstream>
using namespace std;
int a[20003][20003];
int main()
{

    fstream f("bfs.in",ios::in),g("bfs.out",ios::out);
    int u,p,k=1,x,y,j,n,i,m,S,viz[100003];
    f>>n>>m>>S;
    for(i=1;i<=m;i++)
    {
        f>>x>>y;
        a[x][y]=1;
    }
    int C[100003],vf;
    viz[S]=1;
    p=u=0;
    C[++u]=S;

    while(p<u)
    {
        vf=C[++p];
        for(i=1;i<=n;i++)
            if(a[vf][i]!=0&&viz[i]==0)
            {
                C[++u]=i;
                viz[i]=viz[vf]+1;
            }
    }
    for(i=1;i<=n;i++)
        if(viz[i]==0)
            g<<-1<<" ";
        else
            g<<viz[i]-1<<" ";
}