Cod sursa(job #2427733)

Utilizator bubblegumixUdrea Robert bubblegumix Data 1 iunie 2019 23:32:09
Problema BFS - Parcurgere in latime Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.99 kb
#include<fstream>
using namespace std;
int a[100][100],i,j,n,m,x,y,pl,viz[100],coada[100],el,p,u,drum[100];
ifstream f("bfs.in");
ofstream g("bfs.out");
int main()
{
    f>>n>>m>>pl;
    for(i=1;i<=m;i++)
    {
        f>>x>>y;
        a[x][y]=1;
    }
    coada[1]=pl;
    viz[pl]=1;
    p=1;
    u=1;
    while(p<=u)
    {
        el=coada[p];
        for(i=1;i<=n;i++)
            if(a[el][i]==1&&viz[i]==0)
            {
              u++;
              coada[u]=i;
              viz[i]=1;
            }
        p++;
    }
    for(i=1;i<=n;i++)
        if(viz[i]==1)
           {
              for(j=1;j<=n-1;j++)
                   if(coada[j]==i)
                             break;
                      else
                        if(a[coada[j]][coada[j+1]]==1)
                                 drum[i]++;

           }
           else
            drum[i]=-1;
    for(i=1;i<=n;i++)
        g<<drum[i]<<" ";
    f.close();
    g.close();


return 0;
}