Pagini recente » Cod sursa (job #2242646) | Cod sursa (job #2145115) | Cod sursa (job #1998039) | Cod sursa (job #2164928) | Cod sursa (job #1215667)
#include<fstream>
#include<vector>
using namespace std;
int n, m2, x, xx, y, i, m[100007], p, u, c[100007], nod, fiu;
vector<int> L[100007];
ifstream in("bfs.in");
ofstream out("bfs.out");
int main(){
in>>n>>m2>>xx;
for(i=1; i<=m2; i++){
in>>x>>y;
L[x].push_back(y);
//L[y].push_back(x);
}
m[xx]=1;
p=1; u=1;
c[1]=xx;
while(p<=u){
nod=c[p];
//out<<nod<<" ";
for(i=0; i<L[nod].size(); i++){
fiu=L[nod][i];
if(m[fiu]==0){
c[++u]=fiu;
m[fiu]=m[nod]+1;
}
}
p++;
}
for(i=1; i<=n; i++)
out<<m[i]-1<<" ";
}