๐ ์ฒ์์ ์ฐธ๊ณ ํ ๋ต์ ํฌํฌ์ธํฐ ๋ฐฉ์์ด์๋๋ฐ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ค. javascript๋ Map์ผ๋ก ํ์ด์ค์ผํ๋ ๊ฒ ๊ฐ๋ค.
๐จ ์ฐธ๊ณ ์ฝ๋
์ฝ๋
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const N = +input.shift();
const A = new Array(N);
const B = new Array(N);
const C = new Array(N);
const D = new Array(N);
const AB = [];
const CD = new Map();
for (let i = 0; i < N; i++) {
const [a, b, c, d] = input[i].split(" ").map(Number);
A[i] = a;
B[i] = b;
C[i] = c;
D[i] = d;
}
for (let i = 0; i < N; i++) {
for (let j = 0; j < N; j++) {
AB.push(A[i] + B[j]);
let cd = C[i] + D[j];
if (CD.has(cd)) CD.set(cd, CD.get(cd) + 1);
else CD.set(cd, 1);
}
}
let count = 0;
for (let i = 0; i < AB.length; i++) {
let cd = AB[i] * -1;
if (CD.has(cd)) count += CD.get(cd);
}
console.log(count);