Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

Tim va tinh do dai cay bao trum nho nhat

/*

VU THI DIEU_ K52A2 TOAN TIN

YEU CAU : tim va tinh do dai cua cay bao trum nho nhat = thuat toan PRIM

*/

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#define vocung 1000

int a[100][100],M[100],pr[100],d[100],n;

void nhap()

{

int i,j,k;

FILE*f;

f=fopen("prim.inp","r");

fscanf(f,"%d",&n);

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

{

fscanf(f,"%d",&k);

a[i][j]=k;

}

fclose(f);

}

void khoitao()

{

for(i=1;i<=n;i++)

{

pr[i]=1;

d[i]=a[1][i];

M[i]=0;

}

M[1]=1;

}

int mind()

{

int vt=1;

int gt=vocung;

for(i=1;i<=n;i++)

{

if(M[i]==0 && d[i] < gt)

{

gt=d[i];

vt=i;

}

}

return vt;

}

void prim()

{

int i,j,t;

for(t=1;t<=n;t++)

{

i=mind();

M[i]=1;

for(j=1;j<=n;j++)

if(M[j]==0 && d[j] > a[i][j])

{

d[j]=a[i][j];

pr[j]=i;

}

}

}

void inkq()

{FILE *f;

f=fopen("Graph.out","w+");

for(i=1;i<=n;i++)

{

fprintf(f,"(%d ,%d )",i,pr[i]);

}

fclose(f);

}

{//FILE *f;

//f=fopen("Graph.out","w+");

int s=0;

for(int i=1;i<=n;i++)

s+=d[i];

return s;

// fprintf(f,"%3d",tong());

}

//fclose(f);}

int main()

{

nhap();

khoitao();

// printf("cay bao trum nho nhat la :

");

inkq();

printf("All completed!");

getch();

return 0;

}

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: