#P3158. Kickdown

Kickdown

本题没有可用的提交语言。

题目描述

一家全球领先汽车公司的研究实验室接到订单,需要设计一种特殊的变速机构,以实现高效的降挡操作(切换至更低挡位)。经过数月研究,工程师发现最优方案需要使用齿和槽非均匀分布的特殊齿轮,并计算出了齿轮的最佳齿廓。现在他们需要通过实验验证这一发现。

实验的第一阶段使用平面齿形截面(而非圆形齿轮)。长度为 n 的截面由 n 个单元组成,每个单元要么是高度为 h 的槽(用 1 表示),要么是高度为 2h 的齿(用 2 表示)。实验需要两个截面:一个模拟主动齿轮(齿在底部,即下方截面),另一个模拟从动齿轮(齿在顶部,即上方截面)。
实验室有一块宽度为 3h 的长条形昂贵合金材料,其长度足够同时切割出两个啮合的截面。这两个截面形状不规则,但可以通过沿长度方向相对移动(平移)来实现啮合。工程师希望尽可能少地使用材料,因此需要计算同时切割两个截面所需的最小条形材料长度

输入格式

  • 输入包含两行字符串,分别描述主动截面(下方)和从动截面(上方)。
    • 第一行对应主动截面(齿在底部),第二行对应从动截面(齿在顶部)。
    • 每个字符表示一个单元:1 代表槽(高度 h),2 代表齿(高度 2h)。
    • 字符串非空,长度不超过 100。两个截面不可翻转或旋转,只能沿长度方向平移。

输出格式

  • 输出一个整数,表示同时切割两个截面所需的最小条形材料长度。

输入输出样例

输入数据 1 输入数据 2 输入数据 3
2112112112
2212112
12121212
21212121
2211221122
21212
输出数据 1:10 输出数据 2:8 输出数据 3:15

题目来源

Northeastern Europe 2006

关键分析

  • 两个截面需沿长度方向平移对齐,使得任意位置的上下单元不会重叠(即下方的齿 2 和上方的齿 2 不能在同一位置,否则会导致高度超过 3h)。
  • 目标是找到所有合法的平移方式(即两个截面的重叠部分中不存在上下均为 2 的情况),并计算所需的最小总长度(两个截面覆盖的范围)。
  • 需枚举所有可能的相对位移,检查每种位移下的重叠部分是否合法,最终取最小总长度。