Pagini recente » Cod sursa (job #160032) | Cod sursa (job #110037) | Cod sursa (job #1434781) | Cod sursa (job #1413153) | Cod sursa (job #1957904)
#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<<" ";
}