๐จ ์ฐธ๊ณ ์ฝ๋
๐ ๋์ a,b๋ฅผ ๊ฐ ๋ ๋ค๋ฅธ ๋์๋ฅผ ๊ฒฝ์ ํด์ ๊ฐ ์ ์๋ค๋ฉด a,b๊ฐ์ ์ ์์ ์ค๋ ๋๋ ๊ฒ์ด ํฌ์ธํธ์ด๋ค.
์ฝ๋
const fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const N = +input.shift();
const min = input.map((el) => el.split(" ").map(Number));
const result = input.map((el) => el.split(" ").map(Number));
for (let k = 0; k < N; k++) {
for (let i = 0; i < N; i++) {
for (let j = 0; j < N; j++) {
if (i === k || k === j) continue;
if (min[i][j] > min[i][k] + min[k][j]) return console.log(-1);
if (min[i][j] === min[i][k] + min[k][j]) result[i][j] = 0;
}
}
}
let answer = 0;
for (let i = 0; i < N; i++) {
for (let j = 0; j < N; j++) {
answer += result[i][j];
}
}
console.log(answer / 2);