let points = [[0,0],[2,2],[3,10],[5,2],[7,0]]
let n = points.length
let INF = Number.MAX_SAFE_INTEGER
let graph = Array(n).fill().map((val)=>{
return Array(n).fill(0)
})
let minRoute = Array(n).fill(INF)
for(let i = 0;i<n;i++){
for(let j = 0;j<n;j++){
let [i_x,i_y] = points[i]
let [j_x,j_y] = points[j]
graph[i][j] = Math.abs(i_x-j_x)+Math.abs(i_y-j_y)
}
}
minRoute[0] = 0
let used = Array(n).fill(false)
// console.log(minRoute);
let res = 0
for(let i = 0;i<n;i++){
let cur = -1
// 找到最小的
for(let k = 0;k<n;k++){
if(!used[k]&&(cur==-1||minRoute[k]<minRoute[cur])){
cur = k
}
}
used[cur] = true
res = res + minRoute[cur]
for(let m = 0;m < n;m++){
minRoute[m] = Math.min(minRoute[m],graph[cur][m])
}
}
console.log(res);