Pagini recente » Cod sursa (job #10699) | Cod sursa (job #609159) | Cod sursa (job #101776) | Cod sursa (job #61427) | Cod sursa (job #550522)
Cod sursa(job #550522)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////[#\:xx xx:\#[//////////////////////////////////////////////////
//////////////////////////////////////////[\x^@HpN77777777777777777777NpH&^x\[//////////////////////////////////////////
/////////////////////////////////////[x^dp77777777777777777777777777777777777Np@ :[/////////////////////////////////////
/////////////////////////////////[x&p77777777777777777777777777777777777777777777773_x[/////////////////////////////////
//////////////////////////////#^3777777777777777777777777777777777777777777777777777777H #//////////////////////////////
///////////////////////////#^p7777777777777777777777777777777777777777777777777777777777773 #///////////////////////////
////////////////////////[ H777777777777777777777777777777777777777777777777777777777777777777Hx[////////////////////////
//////////////////////#^W7777777777777777777777777777777777777777777777777777777777777777777777W^[//////////////////////
////////////////////#&N77777777777777777777777777777777777777777777777777777777777777777777777777N_[////////////////////
//////////////////[_N777777777777777777777777777777777777777777777777777777777777777777777777777777N^[//////////////////
///////////////// W7777777777777777777777777777777777777777777777777777777777777777777777777777777777Wx/////////////////
///////////////#H77777W3Hddd3W77777777777777777777777777777777777777777777NpHdddd3W77777777777777777777d#///////////////
////////////// N773_x[////////[\ dN777777777777777777777777777777777773_x#/////////[\ @W7777777777777777Nx//////////////
////////////[&77H\///# @pWNWH_:///[ 3777777777777777777777777777777p #///# &3WNNpH_x////:&N777777777777777_/////////////
///////////[H7N ///_zMMMMMMMP@#//////xp77777777777777777777777777px///:3zMMMMMMMMME [/////[_777777777777777d[///////////
//////////[37W\//\EMMMMMMMMQ#/////////[@777777777777777777777777&[//xEMMMMMMMMMMMp//////////\377777777777777H[//////////
/////////[37N\//xPMMMMMMMMM_////////////_7777777777777777777777x//[WMMMMMMMMMMMMM[///////////[d77777777777777H[/////////
/////////H77x//\PMMMMMMMMMM3/////////////@77777777777777777777 //#zMMMMMMMMMMMMMMx////////////[H77777777777777@/////////
////////_773///9MMMMMMMMMMMM@[///////[x//[W777777777777777777@///EMMMMMMMMMMMMMMMDx////////\ //#N77777777777777 ////////
///////:777 //xMMMMMMMMMMMMMMD3^x:x^pPL#//^777777777777777777#//_MMMMMMMMMMMMMMMMMMJd ::x&7LL[//_777777777777777#///////
///////p777#//dMMMMMMMMMMMMMMMMMMMMMMMM_//\77777777777777777p///JMMMMMMMMMMMMMMMMMMMMMMMMMMMM_//:777777777777777H///////
////// 7777[//3MMMMMMMMMMMMMMMMMMMMMMMM3//#77777777777777777d///PMMMMMMMMMMMMMMMMMMMMMMMMMMMM3//[7777777777777777x//////
//////37777\//@MMMMMMMMMMMMMMMMMMMMMMMMd//#77777777777777777H///DMMMMMMMMMMMMMMMMMMMMMMMMMMMMd//#7777777777777777H//////
/////\77777 //\MMMMMMMMMMMMMMMMMMMMMMMMx//x77777777777777777N[//WMMMMMMMMMMMMMMMMMMMMMMMMMMMMx//x77777777777777777#/////
/////^77777p///^&&&&&&&&&&&&&&&&&&&&&&&///d777777777777777777 //\&&&&&&&&&&&&&&&&&&&&&&&&&&&_///H77777777777777777 /////
/////d777777 ////////////////////////////x7777777777777777777W[//////////////////////////////// 777777777777777777&/////
/////p7777777WWWWWWWWWWWWWWWWWWWWWWWWWWWWN77777777777777777777NWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW7777777777777777777H/////
/////W7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777773/////
/////W7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777773/////
/////p777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777H/////
/////d777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777&/////
///// 777777773[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[#W7777777777777777777x/////
/////#77777777pxxxx///[####################################################################[//x7777777777777777777[/////
//////377777777777N///x x///H77777777777777777d//////
//////x777777777777#//\ #//x77777777777777777://////
///////377777777777_//[ ://[7777777777777777H///////
///////\77777777777N#//\ x///N77777777777777N#///////
////////^77777777777d///x x///777777777777777 ////////
/////////d77777777777 //[ \//#77777777777777@/////////
/////////[377777777777x//[ [//^7777777777777d[/////////
//////////[37777777777Nx//[ \//[W777777777777H[//////////
///////////[H7777777777Nx//[x ^^___^^ :///d777777777777@[///////////
/////////////_77777777777 ///x ^dp7EzDDDDDDDzJ7pd^ :///@777777777777^/////////////
//////////////xN7777777777&[//\ _3EDDDDDDDDDDDDDDDDDDDEp& #//[d77777777777Wx//////////////
///////////////#d77777777773#//[x @7DDDDDDDDDDDDDDDDDDDDDDDDD9d :[//\p77777777777@[///////////////
/////////////////xW777777777N^[//#x _7DDDDDDDDDDDDDDDDDDDDDDDDDDDDD9& x[//[&77777777777px/////////////////
//////////////////[^N777777777Wx///#x dzDDDDDDDDDDDDDDDDDDDDDDDDDDDDDz3x[//[^N7777777777W [//////////////////
////////////////////[_N7777777773x///#x HDDDDDDDDDDDDDDDDDDDDDDDDDDDDzW^#///#&N7777777777N^[////////////////////
//////////////////////[^W777777777p [//[#x &QDDDDDDDDDDDDDDDDDDDDDDDDQE3 #///[ H77777777777p [//////////////////////
/////////////////////////xd777777777N&:////#\x EDDDDDDDDDDDDDDDDDDDDDJNd #[///# dN77777777777dx/////////////////////////
///////////////////////////# 3777777777N@ #////[x^@3W7EJzzzJE9NpH& :[/////#x_p777777777777H [///////////////////////////
//////////////////////////////# HN777777777NH_x\[//////////////////[#x &HW777777777777Nd #//////////////////////////////
/////////////////////////////////[x_3N77777777777W3d@&^^ ^^_@d3W777777777777777NH^:[/////////////////////////////////
/////////////////////////////////////[: @3N7777777777777777777777777777777777N3& \[/////////////////////////////////////
//////////////////////////////////////////[#x &d3WN777777777777777777NW3d_ x#[//////////////////////////////////////////
//////////////////////////////////////////////////[[#\:xx xx:\#[[//////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <stdio.h>
#include <vector>
//copyright 2011
#define NMAX 100002
#define input "bfs.in"
#define output "bfs.out"
using namespace std;
vector <int> g[NMAX];
int x,y,n,m,s,nc,tail[NMAX],step_dance[NMAX];
bool been_there_done_that[NMAX];
void open()
{
freopen(input,"r",stdin);
freopen(output,"w",stdout);
}
void read()
{
scanf("%d %d %d", &n, &m, &s);
for(int i=1;i<=n;++i) step_dance[i]=-1;
for(int i=1;i<=m;++i)
{
scanf("%d %d", &x, &y);
g[x].push_back(y);
}
}
void bfs(int nod)
{
int p=1,u=1,knot,x;
step_dance[nod]=0;
been_there_done_that[nod]=true;
tail[p]=nod;
while(p<=u)
{
x=tail[p++];
for(int i=0;i<g[x].size();i++)
{
knot=g[x][i];
if(!been_there_done_that[knot])
{
tail[++u]=knot;
been_there_done_that[knot]=true;
step_dance[knot]=step_dance[x]+1;
}
}
}
}
void a_fish()
{
for(int i=1;i<=n;++i)
printf("%d ",step_dance[i]);
}
void _where_the_magic_happens()
{
bfs(s);
a_fish();
}
int main ()
{
open();
read();
_where_the_magic_happens();
return 0;
}