๐จ ์ฐธ๊ณ ์ฝ๋
๐ ์๊ฐ๋ณด๋ค ๊ฐ๋จํ ๋ฌธ์ ์๋๋ฐ.. ๋ด๊ฐ ์๊ฐ์ ๋ชปํ ๋ถ๋ถ์ด ์์๋ค. ํ๋ก์ด๋ ์์ฌ์ ๋ ์ต์ํด์ ธ์ผํ ๊ฒ ๊ฐ๋ค.
์ฝ๋
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const [V, E] = input.shift().split(" ").map(Number);
const arr = Array.from(new Array(V + 1), () => new Array(V + 1).fill(Infinity));
for (let e = 0; e < E; e++) {
const [a, b, c] = input[e].split(" ").map(Number);
arr[a][b] = c;
}
for (let k = 1; k < V + 1; k++) {
for (let i = 1; i < V + 1; i++) {
for (let j = 1; j < V + 1; j++) {
if (i === j) {
arr[i][j] = 0;
continue;
}
if (arr[i][k] + arr[k][j] < arr[i][j]) {
arr[i][j] = arr[i][k] + arr[k][j];
}
}
}
}
let min = Infinity;
for (let i = 1; i < V + 1; i++) {
for (let j = 1; j < V + 1; j++) {
if (i === j) continue;
min = Math.min(arr[i][j] + arr[j][i], min);
}
}
if (min === Infinity) min = -1;
console.log(min);