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