Pagini recente » Cod sursa (job #1027114) | Cod sursa (job #3144449) | Cod sursa (job #2267226) | Cod sursa (job #1552670) | Cod sursa (job #1835131)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int n,Q[105],i,j,m,x,viz[105],y;
vector <int> a[105];
int main()
{ f>>n>>m>>x;
for (i=1;i<=m;i++)
{
int x,y;
f>>x>>y;
a[x].push_back(y);
}
Q[1]=x;
viz[x]=1;
int st=1,dr=1;
while (st<=dr)
{
y=Q[st];
vector <int> :: iterator it=a[y].begin(),sf=a[y].end();
for (;it!=sf;it++)
if (viz[*it]==0)
{
Q[++dr]=(*it);
viz[(*it)]=1+viz[y];
}
st++;
}
for (i=1;i<=n;i++)
g<<viz[i]-1<<' ';
return 0;
}