题解 | #称砝码#
称砝码
https://www.nowcoder.com/practice/f9a4c19050fc477e9e27eb75f3bfd49c
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
// Write your code here
let index = 0;
let n;
let weights = [];
let nums = [];
let arr = [0];
while ((line = await readline())) {
if (index === 0) {
n = parseInt(line);
index++;
} else if (index === 1) {
weights = line.split(" ").map(Number);
index++;
} else {
nums = line.split(" ").map(Number);
}
}
for (let i = 0; i < n; i++) {
for (let j = 1; j <= nums[i]; j++) {
let temp = [];
for (let a of arr) {
temp.push(a + weights[i]);
}
arr.push(...temp);
arr = [...new Set(arr)];
}
}
console.log(arr.length);
})();
查看22道真题和解析