๐ŸŽฒ ๋ฐฑ์ค€ 1507๋ฒˆ ๊ถ๊ธˆํ•œ ๋ฏผํ˜ธ

Jeongeunยท2023๋…„ 12์›” 16์ผ
0

๋ฐฑ์ค€

๋ชฉ๋ก ๋ณด๊ธฐ
147/186

๋ฐฑ์ค€ 1507๋ฒˆ

๐ŸŽจ ์ฐธ๊ณ  ์ฝ”๋“œ
๐Ÿ’Š ๋„์‹œ 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);

0๊ฐœ์˜ ๋Œ“๊ธ€