1 条题解
-
0
题意分析
-
问题背景
- 一家高级货物运输有限公司有一个大型仓库,存储多种货物。
- 仓库有 个货位()。
- 货物类型有 种()。
- 每天有 辆卡车()来装载货物,每辆卡车仅装载一种类型。
-
操作规则
- 管理员提前将货物搬运到货位,但无法预知每辆卡车的具体需求,因此会准备比实际需求更多的货物。
- 如果当前卡车装载的货物类型与前一辆相同,则无需重新搬运货物(节省操作)。
- 每个货位可以服务任意数量的卡车,只要货物类型相同。
- 目标:最小化“LOAD”操作次数(即搬运货物到货位的次数)。
-
输入格式
- 第一行:测试用例数量 。
- 每个测试用例:
- 第一行:(货位数)、(货物类型数)、(卡车数)。
- 接下来 行:每行一个整数 (第 辆卡车的货物类型)。
-
输出格式
- 每个测试用例:
- 第一行:
Case X:
( 为测试用例编号)。 - 接下来 行:
NO ACTION
(当前货物已在货位上)。LOAD b g
(将货物 搬运到货位 )。
- 第一行:
- 不同测试用例之间用空行分隔。
- 每个测试用例:
解题思路
-
数据结构
- 使用数组
bay[B]
记录每个货位存放的货物类型(初始化为 )。
- 使用数组
-
处理每辆卡车
- 对于卡车 的货物 :
- 检查是否已有货位存放 :
- 如果有,输出
NO ACTION
。
- 如果有,输出
- 否则:
- 优先使用空货位(
bay[j] == -1
)。 - 若无空货位,则替换一个已有货物的货位(如第一个货位)。
- 输出
LOAD b t_i
( 为货位编号)。
- 优先使用空货位(
- 检查是否已有货位存放 :
- 对于卡车 的货物 :
标程(C++)
-
- 1
信息
- ID
- 794
- 时间
- 1000ms
- 内存
- 30MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者