先上代码
#include<stdio.h>
#include<stdlib.h>
int min(int a[],int *d)
{
int i,n,index;
n=a[0];
for(i=1;i<7;i++)
{
if(a[i]!=0){
n=a[i];
index=i;
break;
}
}
for(i=1;i<7;i++)
{
if(a[i]!=0&&a[i]<n){
n=a[i];
index=i;
}
}
(*d)+=a[index];
a[index]=0;
return index;
}
int main()
{
int m,n,d,num,i,count=0,row=1,dis=0;
int a[7][7]={0};
scanf("%d",&num);
for(i=0;i<num;i++)
{
scanf("%d %d %d",&m,&n,&d);
a[m][n]=d;
a[n][m]=d;
}
while(row!=5)
{
count=min(a[row],&dis);
printf("%d %d \n",dis,count);
a[count][row]=0;
row=count;
}
printf("%d",dis);
}
来了思路解释来了