Pagini recente » Cod sursa (job #2506066) | Cod sursa (job #2384524) | Cod sursa (job #2916643) | Cod sursa (job #1191254) | Cod sursa (job #1835130)
#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;
}