让一个位置尽量远离别人,与让所有角色走到某处的总路程最小,是不同目标。若角色沿同一条通道移动,且每个位置有不同人数,可以逐点计算总步数来找到集合点。
以下是一组可按记录复查的虚构游戏例子。它先固定输入、单位和执行顺序,再展示每一步结果。读者可以用纸笔挑出几步核对,不需要依赖具体游戏的后台数据。
九组角色各有整数位置与人数,位置在零到二十内。候选集合点是同一区间的每个整数;成本等于各组人数乘到集合点的绝对距离之和。取最低成本,同分选择更靠左的位置。
九组[位置,人数][[19, 4], [16, 2], [18, 6], [16, 6], [1, 2], [14, 2], [18, 2], [14, 6], [19, 6]]
集合点0:九组分别需要步数[76, 32, 108, 96, 2, 28, 36, 84, 114],合计576;该数字是人数加权的总步数,不是最远一人的距离。
集合点1:九组分别需要步数[72, 30, 102, 90, 0, 26, 34, 78, 108],合计540;该数字是人数加权的总步数,不是最远一人的距离。
集合点2:九组分别需要步数[68, 28, 96, 84, 2, 24, 32, 72, 102],合计508;该数字是人数加权的总步数,不是最远一人的距离。
集合点3:九组分别需要步数[64, 26, 90, 78, 4, 22, 30, 66, 96],合计476;该数字是人数加权的总步数,不是最远一人的距离。
集合点4:九组分别需要步数[60, 24, 84, 72, 6, 20, 28, 60, 90],合计444;该数字是人数加权的总步数,不是最远一人的距离。
集合点5:九组分别需要步数[56, 22, 78, 66, 8, 18, 26, 54, 84],合计412;该数字是人数加权的总步数,不是最远一人的距离。
集合点6:九组分别需要步数[52, 20, 72, 60, 10, 16, 24, 48, 78],合计380;该数字是人数加权的总步数,不是最远一人的距离。
集合点7:九组分别需要步数[48, 18, 66, 54, 12, 14, 22, 42, 72],合计348;该数字是人数加权的总步数,不是最远一人的距离。
集合点8:九组分别需要步数[44, 16, 60, 48, 14, 12, 20, 36, 66],合计316;该数字是人数加权的总步数,不是最远一人的距离。
集合点9:九组分别需要步数[40, 14, 54, 42, 16, 10, 18, 30, 60],合计284;该数字是人数加权的总步数,不是最远一人的距离。
集合点10:九组分别需要步数[36, 12, 48, 36, 18, 8, 16, 24, 54],合计252;该数字是人数加权的总步数,不是最远一人的距离。
集合点11:九组分别需要步数[32, 10, 42, 30, 20, 6, 14, 18, 48],合计220;该数字是人数加权的总步数,不是最远一人的距离。
集合点12:九组分别需要步数[28, 8, 36, 24, 22, 4, 12, 12, 42],合计188;该数字是人数加权的总步数,不是最远一人的距离。
集合点13:九组分别需要步数[24, 6, 30, 18, 24, 2, 10, 6, 36],合计156;该数字是人数加权的总步数,不是最远一人的距离。
集合点14:九组分别需要步数[20, 4, 24, 12, 26, 0, 8, 0, 30],合计124;该数字是人数加权的总步数,不是最远一人的距离。
集合点15:九组分别需要步数[16, 2, 18, 6, 28, 2, 6, 6, 24],合计108;该数字是人数加权的总步数,不是最远一人的距离。
集合点16:九组分别需要步数[12, 0, 12, 0, 30, 4, 4, 12, 18],合计92;该数字是人数加权的总步数,不是最远一人的距离。
集合点17:九组分别需要步数[8, 2, 6, 6, 32, 6, 2, 18, 12],合计92;该数字是人数加权的总步数,不是最远一人的距离。
集合点18:九组分别需要步数[4, 4, 0, 12, 34, 8, 0, 24, 6],合计92;该数字是人数加权的总步数,不是最远一人的距离。
集合点19:九组分别需要步数[0, 6, 6, 18, 36, 10, 2, 30, 0],合计108;该数字是人数加权的总步数,不是最远一人的距离。
集合点20:九组分别需要步数[4, 8, 12, 24, 38, 12, 4, 36, 6],合计144;该数字是人数加权的总步数,不是最远一人的距离。
最低总步数92,按同分靠左规则选16;全部最低点[16, 17, 18]。
可以不用逐个候选求全部距离:从最左候选开始,每右移一步,左侧及当前位置人数多走一步,右侧人数少走一步,成本差等于两边人数之差。用这条差分记录独立核对全部候选成本。
这里的成本按通道距离相加,没有障碍、拥挤、限速或不同角色的移动能力。人数作为权重不能误写成位置编号。最低点可能不唯一,靠左只是一条稳定的同分规则,并不表示其他最低点错误。
练习时只改变一个条件,先判断哪些中间步骤应当受影响,再重新计算。要把空状态、数值零和未能确定的结果分开。边界约定不同可能产生不同答案,复查的目标是确认输入、过程与规则一致,而不是只追求最后一个数字看起来相同。