Cod sursa(job #2427731)
| Utilizator | Data | 1 iunie 2019 23:25:51 | |
|---|---|---|---|
| Problema | BFS - Parcurgere in latime | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.98 kb |
#include<fstream>
using namespace std;
int a[100][100],i,j,n,m,x,y,pl,viz[100],coada[100],el,p,u,drum[100];
ifstream f("a.txt");
ofstream g("b.txt");
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;
}
