题目背景
你正在帮物业开发一个“社区自助洗车机计费与会员定级”系统。每当有居民洗完车,系统会根据他们消耗的水量、洗车时长以及是否使用了高级泡沫等信息,计算出单次洗车的最终费用,并给出当前洗车行为的会员评级。为了防止有人恶意破坏设备或长期霸占车位,系统内置了直接罚款和降级警告机制。
规则描述
1. 基础计费
单次洗车的基础费用由以下三部分直接相加组成:
- 用水费:每消耗 1 升水,收费 1 元。
- 时长费:每使用 1 分钟,收费 2 元。
- 泡沫费:如果选择了高级泡沫,额外固定加收 10 元。
2. 环保与夜间减免
物业鼓励自带毛巾和错峰洗车,在基础计费的总额上进行以下减免:
- 如果居民自带毛巾(Bring_Towel = True),总价减免 5 元。
- 如果是夜间洗车(Is_Night = True),总价再减免 10 元。
- 如果减免后的费用为负数,则最终费用记为 0元。所有的金额都是整数计算,没有小数。
3. 评级
评级有一套严格的优先级顺序(Rule 1 优先级最高,向下递推)。一旦触发某条规则,立刻决定最终的评级和最终费用,并停止后续判断。你需要输出最终生效的规则编号(Rule_ID)。
-
Rule 1: 损坏设备熔断
- 如果该居民在洗车时 弄坏了水枪设备。
- 当次的所有计费和减免全部作废。最终费用强制锁定为顶格罚款 500元,且评级直接记为 Banned(封禁)。
-
Rule 2: 严重超时警告
- 如果未触发Rule 1,但居民的洗车时长 ≥ 60 分钟,说明在霸占车位。
- 费用保留前面的正常核算结果,但评级强制降为 Warning(警告)。
-
Rule 3: 节水达人VIP
- 如果未触发前两条,且计算出的最终费用 ≥ 30元(单次消费高),同时用水量 ≤ 15 升(非常节水)。
- 评级晋升为 VIP(贵宾),费用保留正常核算结果。
-
Rule 4: 普通用户
- 如果上述条件都不满足,评级为 Regular(普通),费用保留正常核算结果。
