#6977. 仓库密令(secret)
仓库密令(secret)
仓库密令(secret)
题目描述
某物资中心使用数字编号管理货物。
仓库中共有 (n) 种物资,第 (i) 种物资有一个正整数编号 ,重量为 ,价值为 。
仓库按照编号的十进制数字位数决定库存数量:
- 如果编号的十进制位数为奇数,这种物资库存充足,可以选择任意非负整数件。
- 如果编号的十进制位数为偶数,这种物资只有一件,最多只能选择一次。
例如,编号 7 有 1 位数字,编号 35 有 2 位数字,编号 205 有 3 位数字。
现在有一个最大承重为 (V) 的运输箱。
求运输箱能够获得的最大总价值。
输入格式
第一行包含两个整数 (n,V)。
接下来 (n) 行,每行包含三个整数:
a w v
分别表示物资编号、重量和价值。
输出格式
输出最大总价值。
输入输出样例 #1
输入
3 10
13 4 9
205 3 5
7 5 8
输出
19
样例解释
编号 13 有 2 位数字,所以最多选择一次。
编号 205 和 7 分别有 3 位和 1 位数字,因此可以重复选择。
一种最优方案是选择:
- 一件编号为 13 的物资;
- 两件编号为 205 的物资。
总重量为 (4+3+3=10),总价值为 (9+5+5=19)。
数据范围
| 测试点编号 | 层级 | n |
V |
数据特征 | 标准输出 | 设计目的 |
|---|---|---|---|---|---|---|
| 1 | 弱数据 | 1 | 1 | a=1,数位和为 1 |
5 | 检查最小规模和基础转移 |
| 2 | 10 | 单个物品,容量远大于重量 | 7 | 检查物品最多选择一次,防止误写成完全背包 | ||
| 3 | 4 | 2 | 所有物品的数位和均超过容量 | 0 | 检查无物品可选的情况 | |
| 4 | 基础数据 | 5 | 10 | 大整数可能具有很小的数位和 | 25 | 检查重量取决于数位和而非整数大小 |
| 5 | 正常数据 | 6 | 12 | 不同整数的数位和均为 4 | 46 | 检查同重量物品的价值取舍 |
| 6 | 4 | 10 | 最优方案只使用 8 单位容量 | 22 | 检查容量不要求恰好装满 | |
| 7 | 边界数据 | 5 | 0 | 包含三个 a=0 的零重量物品 |
23 | 检查 digitSum(0)=0 和 V=0 |
| 8 | 较强数据 | 8 | 35 | 多种位数、数位和与价值混合 | 64 | 检查组合最优并卡简单贪心 |
| 9 | 边界数据 | 6 | 100 | 包含接近 int 上界的整数,最大数位和为 82 |
105 | 检查大整数数位和计算及容量边界 |
| 10 | 极限数据 | 100 | 2000 | 每件重量为 81、价值为 10⁹ |
24000000000 | 检查最大规模、0/1 限制及 long long 累加 |
相关
在以下作业中: