Pagini recente » Cod sursa (job #106441) | Cod sursa (job #1917753) | Cod sursa (job #421434) | Cod sursa (job #1687859) | Cod sursa (job #1456463)
#include<fstream>
#include<vector>
#include<deque>
using namespace std;
vector <int> L[100007];
deque <int> q;
int x, y, i, n, m2, s, p, m[100007], nod, fiu;
ifstream in("bfs.in");
ofstream out("bfs.out");
int main(){
in>>n>>m2>>s;
for(i=1; i<=m2; i++){
in>>x>>y;
L[x].push_back(y);
}
m[s]=1;
p=1;
q.push_back(s);
while(p<=q.size()){
nod=q[p-1];
for(i=0; i<L[nod].size(); i++){
fiu=L[nod][i];
if(m[fiu]==0){
q.push_back(fiu);
m[fiu]=m[nod]+1;
}
}
p++;
}
for(i=1; i<=n; i++)
out<<m[i]-1<<" ";
return 0;
}