Vikhyath_11

p9

Jul 26th, 2024
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. #include<stdio.h>
  2. int parent[10]={0};
  3. int main(){
  4. int cost[10][10],n,i,j,a,b,v,u,min,mincost=0,ne;
  5. printf("veritces n:");
  6. scanf("%d",&n);
  7. printf("elements in cost matrix\n");
  8. for(i=1;i<=n;i++)
  9. for(j=1;j<=n;j++){
  10. scanf("%d",&cost[i][j]);
  11. if(cost[i][j]==0)
  12. cost[i][j]=999;
  13. }
  14. ne=1;
  15. printf("the edges");
  16. while(ne<n){
  17. for(min=999,i=1;i<=n;i++)
  18. for(j=1;j<=n;j++)
  19. if(cost[i][j]<min){
  20. min=cost[i][j];
  21. a=u=i;
  22. b=v=j;
  23. }
  24. while(parent[u])
  25. u=parent[u];
  26. while(parent[v])
  27. v=parent[v];
  28. if(v!=u){
  29. printf("%d edge(%d,%d)=%d\n",ne++,a,b,min);
  30. mincost+=min;
  31. parent[b]=a;
  32. }
  33. cost[a][b]=cost[b][a]=999;
  34. }
  35. printf("minmum:%d",mincost);
  36. return 0;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment