Pagini recente » Istoria paginii runda/pogo.danseaza/clasament | Cod sursa (job #1529836) | Cod sursa (job #3124122) | Cod sursa (job #2702596) | Cod sursa (job #1919213)
#include <iostream>
#include <fstream>
using namespace std;
int q[10001],v[10001][10001],viz[10001],d[10001];
int main()
{
int FRONT=1,REAR=1,n,m,i,x,y,s;
ifstream in("date.in");
in >> n;
in >> m;
in>>s;
for(i=1; i<=m; i++)
{
in>>x>>y;
v[x][y]=1;
}
q[FRONT]=s;
viz[s]=1;
d[s]=0;
while(FRONT<=REAR)
{
for(i=1; i<=n; i++)
if(v[ q[FRONT] ][i]== 1 && viz[i]!=1)
{
REAR++;
q[REAR]=i;
viz[i]=1;
d[i] = d[ q[FRONT] ] + 1;
}
FRONT++;
}
for(i=1;i<=n;i++)
{
if(viz[i]==0)cout<<-1<<' ';
else
cout<<d[i]<<' ';}
return 0;}