Pagini recente » Cod sursa (job #809166) | Cod sursa (job #638803) | Cod sursa (job #583121) | Cod sursa (job #3193260) | Cod sursa (job #2427735)
#include<fstream>
using namespace std;
long long a[10001][10001],i,j,n,m,x,y,pl,viz[1000001],coada[1000001],el,p,u,drum[1000001];
ifstream f("bfs.in");
ofstream g("bfs.out");
int main()
{
f>>n>>m>>pl;
for(i=1;i<=m;i++)
{
f>>x>>y;
a[x][y]=1;
}
coada[1]=pl;
viz[pl]=1;
p=1;
u=1;
while(p<=u)
{
el=coada[p];
for(i=1;i<=n;i++)
if(a[el][i]==1&&viz[i]==0)
{
u++;
coada[u]=i;
viz[i]=1;
}
p++;
}
for(i=1;i<=n;i++)
if(viz[i]==1)
{
for(j=1;j<=n-1;j++)
if(coada[j]==i)
break;
else
if(a[coada[j]][coada[j+1]]==1)
drum[i]++;
}
else
drum[i]=-1;
for(i=1;i<=n;i++)
g<<drum[i]<<" ";
f.close();
g.close();
return 0;
}