Pagini recente » Cod sursa (job #427212) | Cod sursa (job #2862939) | Cod sursa (job #2558697) | Cod sursa (job #3285988) | Cod sursa (job #1375363)
#include<fstream>
#include<list>
using namespace std;
int main()
{
ifstream f("bfs.in");
ofstream g("bfs.out");
list<unsigned int> vt[100001],kov;
list<unsigned int>:: iterator it,jt;
unsigned int n,m,s,i,a,b;
int t[100001];
f>>n>>m>>s;
for(i=1;i<=m;i++)
{
f>>a>>b;
vt[a].push_back(b);
}
for(i=1;i<=n;i++)
t[i]=-1;
t[s]=0;
kov.push_back(s);
it=kov.begin();
while(it!=kov.end())
{
for(jt=vt[*it].begin();jt!=vt[*it].end();jt++)
if(t[*jt]==-1)
{
kov.push_back(*jt);
t[*jt]=t[*it]+1;
}
it++;
}
for(i=1;i<=n;i++)
g<<t[i]<<" ";
f.close();
g.close();
return 0;
}