题解 | #称砝码#
称砝码
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;
let n_len = 0;
let weights = [];
let counts = [];
void async function () {
// Write your code here
while(line = await readline()){
if(!n_len){
n_len = line
} else if(weights.length < 1){
weights = line.split(' ');
}else {
counts = line.split(' ')
}
}
let record = new Set();
record.add(0);
for(let i = 0; i < n_len; i++){
for(let j = 1; j <= counts[i]; j++){
let temp = new Set(record);
temp.forEach(val => {
record.add(val + Number(weights[i]));
})
}
}
console.log(record.size)
}()
查看4道真题和解析