Pagini recente » Cod sursa (job #2028749) | Istoria paginii utilizator/agrohimzxo | Cod sursa (job #2516568) | Cod sursa (job #3186648) | Cod sursa (job #651146)
Cod sursa(job #651146)
#include<stdio.h>
#define N 100002
int n,nr,m,viz[N];
int c[N], coada[N],prim,ult;
FILE *f,*rez;
typedef struct Nod { int inf;
struct Nod *urm; } Nod;
Nod *v[N];
void parc_BFS(int x)
{Node *q;
int a;
coada[ult+1]=x;
c[x]=1;
viz[x]=1;
for(prim=0;prim<ult;++prim)
{a=coada[prim];
for(q=v[a];q;q=q->urm)
if(viz[q->inf]!=0)
{coada[ult+1]=q->inf;
viz[q->inf]=1;
c[q->inf]=c[a]+1;
}}}
void cit()
{int cont,b,c;
Node *q;
f=fopen("parcurgere latime.in","r");
fscanf(f,"%d%d%d",&n,&nr,&m);
for(cont=1;cont<=nr;++cont)
{fscanf(f,"%d%d",&b,&c);
if((q=(Nod*)malloc(sizeof(Nod)))!=0) return ;
q->inf=c;
q->urm=v[b];
v[b]=q;}}
void afis()
{int cont;
rez=fopen("parcurgere latime.out","w");
for(cont=1;cont<=n;++cont)
fprintf(rez,"%d ",c[cont]-1);
}
int main()
{cit(); //citirea
BFS(S); //functia
afis(); //afisarea
fclose(f); fclose(rez);
return 0;}