int prime()
{
memset(visit,0,sizeof(visit));
for(i=1; i<=m; i++)
{
dis[i]=map[1][i];
}
visit[1]=1;
int count=0;
for(i=1; i<m; i++)
{
int min=MAX;
k=0;
for(j=1; j<=m; j++)
{
if(!visit[j]&&min>dis[j])
{
min=dis[j];
k=j;
}
}
visit[k]=1;
count+=min;
for(j=1; j<=m; j++)
{
if(!visit[j]&&dis[j]>map[k][j])
dis[j]=map[k][j];
}
}
return count;
}