Pagini recente » Cod sursa (job #562615) | Cod sursa (job #922823) | Cod sursa (job #882402) | Cod sursa (job #298903) | Cod sursa (job #572315)
Cod sursa(job #572315)
#include<fstream>
#include<vector>
#include<string.h>
using namespace std;
vector<int> v[100001];
int n,m,v2[100001],d[100001],s,j,l,i;
void graf(int s)
{j=1;
l=1;
d[j]=s;
v2[s]=0;
while(j<=l)
{for(i=0;i<v[d[j]].size();i++)
{if(v2[v[d[j]][i]]==-1)
{d[++l]=v[d[j]][i];
v2[v[d[j]][i]]=v2[d[j]]+1;}}
j++;}}
int main()
{int i,x,y;
ifstream q("bfs.in");
ofstream w("bfs.out");
q>>n>>m>>s;
for(i=1;i<=m;i++)
{q>>x>>y;
v[x].push_back(y);}
memset(v2,-1,sizeof(v2));
graf(s);
for(i=1;i<=n;i++)
w<<v2[i]<<" ";
return 0;}