int drumminim(int **a,int A,int B){
int dist[1000];
int vis[100];
int parinte[100];
for(int i=0;i<n;i++)
vis[i]=0;
for(int i = 0; i< n ;++i){
dist[i]=999;
}
dist[A]=0;
for(int i=0;i<n;i++){
int cur=-1;
for(int j=0;j<n;++j){
if(vis[j]!=0) continue;
if(cur==-1 || dist[j] < dist[cur]){
cur=j;
}
}
vis[cur]=1;
for(int j=0;j<n;++j){
int path=dist[cur]+a[cur][j];
if(a[cur][j] ==0) continue;
if(path<dist[j]){
dist[j]=path;
parinte[j]=i;
printf(" Parintele lui %d e %d\n",j,i);
}
}
}
int j;
int drum[10];
int i=0;
j=B;
i=0;
while(j!=A){
drum[i]=j;
j=parinte[j];
i++;
}
printf("\n");
int nr=i;
printf(" \nDRUMUL ");
for(i=0;i<=nr;i++)
printf(" %d ",drum[i]);
printf(" \nDistanta minima de la %d la %d e %d \n",A,B,dist[B]);
return dist[B];
}