Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int parent[10]={0};
- int main(){
- int cost[10][10],n,i,j,a,b,v,u,min,mincost=0,ne;
- printf("veritces n:");
- scanf("%d",&n);
- printf("elements in cost matrix\n");
- for(i=1;i<=n;i++)
- for(j=1;j<=n;j++){
- scanf("%d",&cost[i][j]);
- if(cost[i][j]==0)
- cost[i][j]=999;
- }
- ne=1;
- printf("the edges");
- while(ne<n){
- for(min=999,i=1;i<=n;i++)
- for(j=1;j<=n;j++)
- if(cost[i][j]<min){
- min=cost[i][j];
- a=u=i;
- b=v=j;
- }
- while(parent[u])
- u=parent[u];
- while(parent[v])
- v=parent[v];
- if(v!=u){
- printf("%d edge(%d,%d)=%d\n",ne++,a,b,min);
- mincost+=min;
- parent[b]=a;
- }
- cost[a][b]=cost[b][a]=999;
- }
- printf("minmum:%d",mincost);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment