智能停车收费机器人 - 题解

一、题目分析

本题要求根据《停车场收费标准2024版》计算停车费用。规则链路:

  1. [P.1] 免费时长检查(≤30 分钟免费)
  2. [P.2] 基础费率计算(工作日 10 元/h,周末 15 元/h,向上取整)
  3. [P.3] 封顶 120 元
  4. [P.4] 金卡会员 5 折

输出 pay_amount、billed_hours、applied_rules 三个字段。

二、难点分析

  1. 免费时长的"从头计费"陷阱:超过 30 分钟后,是从头全额计费(如 31 分钟算 1 小时),不是减去 30 分钟再计费。模型容易误解为"超出部分计费"
  2. 向上取整:31 分钟→1 小时,61 分钟→2 小时,1.5 小时→2 小时,模型需要正确执行 ceil 操作
  3. 免费时 billed_hours 的值:免费时 billed_hours 应为 0 而非实际时长的取整值
  4. 金卡 vs 普通车:只有"金卡会员"才打折,"普通车"不享受优惠
  5. 封顶与会员折扣的顺序:先封顶再打折(120×0.5=60),不是先打折再封顶

三、Prompt 设计思路

3.1 五步顺序流程

结构简洁,五步走:免费检查→计费小时→封顶→金卡折扣→输出。步骤数量少,逻辑清晰,降低出错概率。

3.2 免费时短路返回

Step1 命中免费条件后直接输出,billed_hours=0,不进入后续步骤。避免模型在免费场景下仍然去计算费率。

3.3 向上取整的多示例教学

给出多个取整示例(31分钟→1h,61分钟→2h,1.5小时→2h,11小时→11h),覆盖不同输入格式(分钟、小时、小时带小数)。

3.4 "普通车"显式排除

在 Step4 标注"普通车不是金卡会员",直接对抗模型的错误推理。

3.5 紧凑示例集

5 个示例覆盖:免费边界(30分钟)、刚超免费(31分钟)、金卡会员、向上取整、金卡+长时间停车等场景。

四、关键技巧

  1. 思维链引导<thinking> 中逐步计算
  2. 短路设计:免费场景一步到位,不走后续逻辑
  3. 取整公式化:用 ceil(31/60)=1 的数学表达,比"向上取整到1小时"更精确
  4. 费率表格化:工作日/周末费率用简洁的对照格式呈现
  5. 顺序敏感标注:封顶在前,会员折扣在后,示例中展示完整计算链(如 11×10=110→<120不封顶→×0.5=55
  6. 输出模板锚定:结尾空 JSON 模板确保格式统一