题解 | #称砝码#
称砝码
https://www.nowcoder.com/practice/f9a4c19050fc477e9e27eb75f3bfd49c
import java.util.Scanner fun main(args: Array<String>) { val read = Scanner(System.`in`) val res = read.nextLine().toInt() val ws = read.nextLine().split(' ').filter { it.isNotBlank() }.map { it.toInt() } val nums = read.nextLine().split(' ').filter { it.isNotBlank() }.map { it.toInt() } var counts = mutableSetOf(0) ws.forEachIndexed { index, w -> for ( i in 0 until nums[index]) { val copy = mutableSetOf<Int>() counts.forEach { copy.add(it) copy.add(it + w) } counts = copy } } println(counts.size) }