Cod sursa(job #1957904)

Utilizator vlasiuflaviusVlasiu Flavius vlasiuflavius Data 7 aprilie 2017 20:45:48
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <queue>
#include <vector>
using namespace std;
ofstream fout("bfs.out");
ifstream fin ("bfs.in");
int n,m,i,a,b,s,aux;
int rsp[100005];
queue < int > q;
vector < int > v[100005];
int main()
{
    fin>>n>>m>>s;
    for( i = 1 ; i <= m ; i++ )
    {
        fin>>a>>b;
        v[ a ].push_back( b );
    }
    q.push( s );
    rsp[ s ] = 1;
    while( q.size() )
    {
        aux = q.front();
        for( auto it : v[ aux ] )
        {
            if( !rsp[ it ] )
            {
                rsp[ it ] = rsp[ aux ] + 1;
                q.push( it );
            }
        }
        q.pop();
    }
    for( i = 1 ; i <= n ; i++ )
        fout<<rsp[ i ] - 1<<" ";
}