Pagini recente » Cod sursa (job #572062) | Cod sursa (job #1249774) | Cod sursa (job #700253) | Cod sursa (job #2766379) | Cod sursa (job #1676438)
# include <fstream>
# include <vector>
# define DIM 100010
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
vector <int> Lista[DIM];
int Marcat[DIM],c[DIM],n,m,i,ns,x,y,u,p,cc,cv;
int main () {
fin>>n>>m>>ns;
for(i=1;i<=m;i++){
fin>>x>>y;
Lista[x].push_back(y);
}
u=1;
p=1;
c[1]=ns;
Marcat[ns]=1;
while(p<=u){
cc=c[p];
for(i=0;i<Lista[cc].size();i++){
cv=Lista[cc][i];
if(Marcat[cv]==0){
Marcat[cv]=Marcat[cc]+1;
c[++u]=cv;
}
}
p++;
}
for(i=1;i<=n;i++)
fout<<Marcat[i]-1<<" ";
fout<<"\n";
return 0;
}