[boj] 14889. 開始とリンク(node.js)
12039 ワード
問題の概要
[boj] 14889. 開始とリンク(node.js)
に答える
for (let i = startIdx;
説明する
const readline = require("readline")
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
})
const solution = () => {
const N = Number(input())
let arr = []
for (let i = 0; i < N; i++) arr.push(input().split(" ").map(Number))
let disc = Infinity
let used = new Array(N).fill(0)
rec(0, 0)
console.log(disc)
function rec(k, startIdx) {
if (k == N / 2) {
disc = Math.min(getDisc(), disc)
return
}
for (let i = startIdx; i < N; i++) {
if (used[i]) continue
used[i] = 1
rec(k + 1, i)
used[i] = 0
}
}
function getDisc() {
let team = [0, 0]
for (let i = 0; i < N; i++) {
for (let j = i + 1; j < N; j++) {
if (used[i] != used[j]) continue
let score = arr[i][j] + arr[j][i]
team[used[i]] += score
}
}
return Math.abs(team[0] - team[1])
}
}
let line = 0
const input = () => stdin[line++]
let stdin = []
rl.on("line", function (line) {
stdin.push(line)
}).on("close", function () {
solution()
process.exit()
})
くどくど言う
Reference
この問題について([boj] 14889. 開始とリンク(node.js)), 我々は、より多くの情報をここで見つけました https://velog.io/@greenish0902/boj-14889.-스타트와-링크-node.jsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol