#include <stdio.h>
int main()
{
int i,j,k,l,n,minb,h,y;
int m=0;
int min=1;
int mina=0;
int jz[9][9]={{0,2,99,2,99,99,99,99,99},{2,0,2,99,2,99,99,99,99},{99,2,0,99,99,2,99,99,99},{2,99,99,0,1,99,2,99,99},{99,2,99,1,0,1,99,2,99},{99,99,2,99,1,0,99,99,2},{99,99,99,2,99,99,0,2,99},{99,99,99,99,2,99,2,0,2},{99,99,99,99,99,2,99,2,0}};
int dis[9]={0,2,99,2,99,99,99,99,99};
int jud[9]={1,0,0,0,0,0,0,0,0};
int a[9],b[9];
for (k=2;k<9;k++)
{
if(dis[k]<dis[min])
min=k;
}
for(j=0;j<9;j++)
{
if(jz[min][j]!=99&&jz[min][j]!=0)
{
if(jz[min][j]+dis[min]<dis[j])
dis[j]=jz[min][j]+dis[min];
}
}
jud[min]=1;
while(y==0)
{
y=1;
for(l=0;l<9;l++)
{
if(jud[l]==0)
{
a[m]=dis[l];
b[m]=l;
m=m+1;
}
}
for(n=0;n<9;n++)
{
if(a[n]<a[mina])
{
mina=n;
minb=b[n];
}
}
for(j=0;j<9;j++)
{
if(jz[minb][j]!=99&&jz[minb][j]!=0)
{
if(jz[minb][j]+dis[minb]<dis[j])
dis[j]=jz[minb][j]+dis[minb];
}
}
jud[minb]=1;
for(h=0;h<9;h++)
{
if(jud[h]==0)
y=0;
}
}
for(i=0;i<9;i++)
{
printf("dis[i]==%d\n",dis[i]);
}
return 0;
}