游戏动态

一条通道上怎样选择总步数最少的集合点:九组角色的二十一个候选集合点·案例24


让一个位置尽量远离别人,与让所有角色走到某处的总路程最小,是不同目标。若角色沿同一条通道移动,且每个位置有不同人数,可以逐点计算总步数来找到集合点。

以下是一组可按记录复查的虚构游戏例子。它先固定输入、单位和执行顺序,再展示每一步结果。读者可以用纸笔挑出几步核对,不需要依赖具体游戏的后台数据。

明确规则与输入

九组角色各有整数位置与人数,位置在零到二十内。候选集合点是同一区间的每个整数;成本等于各组人数乘到集合点的绝对距离之和。取最低成本,同分选择更靠左的位置。

九组[位置,人数][[1, 1], [15, 6], [15, 6], [0, 2], [7, 6], [19, 6], [10, 6], [11, 5], [18, 5]]

完整计算过程

集合点0:九组分别需要步数[1, 90, 90, 0, 42, 114, 60, 55, 90],合计542;该数字是人数加权的总步数,不是最远一人的距离。

集合点1:九组分别需要步数[0, 84, 84, 2, 36, 108, 54, 50, 85],合计503;该数字是人数加权的总步数,不是最远一人的距离。

集合点2:九组分别需要步数[1, 78, 78, 4, 30, 102, 48, 45, 80],合计466;该数字是人数加权的总步数,不是最远一人的距离。

集合点3:九组分别需要步数[2, 72, 72, 6, 24, 96, 42, 40, 75],合计429;该数字是人数加权的总步数,不是最远一人的距离。

集合点4:九组分别需要步数[3, 66, 66, 8, 18, 90, 36, 35, 70],合计392;该数字是人数加权的总步数,不是最远一人的距离。

集合点5:九组分别需要步数[4, 60, 60, 10, 12, 84, 30, 30, 65],合计355;该数字是人数加权的总步数,不是最远一人的距离。

集合点6:九组分别需要步数[5, 54, 54, 12, 6, 78, 24, 25, 60],合计318;该数字是人数加权的总步数,不是最远一人的距离。

集合点7:九组分别需要步数[6, 48, 48, 14, 0, 72, 18, 20, 55],合计281;该数字是人数加权的总步数,不是最远一人的距离。

集合点8:九组分别需要步数[7, 42, 42, 16, 6, 66, 12, 15, 50],合计256;该数字是人数加权的总步数,不是最远一人的距离。

集合点9:九组分别需要步数[8, 36, 36, 18, 12, 60, 6, 10, 45],合计231;该数字是人数加权的总步数,不是最远一人的距离。

集合点10:九组分别需要步数[9, 30, 30, 20, 18, 54, 0, 5, 40],合计206;该数字是人数加权的总步数,不是最远一人的距离。

集合点11:九组分别需要步数[10, 24, 24, 22, 24, 48, 6, 0, 35],合计193;该数字是人数加权的总步数,不是最远一人的距离。

集合点12:九组分别需要步数[11, 18, 18, 24, 30, 42, 12, 5, 30],合计190;该数字是人数加权的总步数,不是最远一人的距离。

集合点13:九组分别需要步数[12, 12, 12, 26, 36, 36, 18, 10, 25],合计187;该数字是人数加权的总步数,不是最远一人的距离。

集合点14:九组分别需要步数[13, 6, 6, 28, 42, 30, 24, 15, 20],合计184;该数字是人数加权的总步数,不是最远一人的距离。

集合点15:九组分别需要步数[14, 0, 0, 30, 48, 24, 30, 20, 15],合计181;该数字是人数加权的总步数,不是最远一人的距离。

集合点16:九组分别需要步数[15, 6, 6, 32, 54, 18, 36, 25, 10],合计202;该数字是人数加权的总步数,不是最远一人的距离。

集合点17:九组分别需要步数[16, 12, 12, 34, 60, 12, 42, 30, 5],合计223;该数字是人数加权的总步数,不是最远一人的距离。

集合点18:九组分别需要步数[17, 18, 18, 36, 66, 6, 48, 35, 0],合计244;该数字是人数加权的总步数,不是最远一人的距离。

集合点19:九组分别需要步数[18, 24, 24, 38, 72, 0, 54, 40, 5],合计275;该数字是人数加权的总步数,不是最远一人的距离。

集合点20:九组分别需要步数[19, 30, 30, 40, 78, 6, 60, 45, 10],合计318;该数字是人数加权的总步数,不是最远一人的距离。

最低总步数181,按同分靠左规则选15;全部最低点[15]。

独立核对与边界

可以不用逐个候选求全部距离:从最左候选开始,每右移一步,左侧及当前位置人数多走一步,右侧人数少走一步,成本差等于两边人数之差。用这条差分记录独立核对全部候选成本。

这里的成本按通道距离相加,没有障碍、拥挤、限速或不同角色的移动能力。人数作为权重不能误写成位置编号。最低点可能不唯一,靠左只是一条稳定的同分规则,并不表示其他最低点错误。

练习时只改变一个条件,先判断哪些中间步骤应当受影响,再重新计算。要把空状态、数值零和未能确定的结果分开。边界约定不同可能产生不同答案,复查的目标是确认输入、过程与规则一致,而不是只追求最后一个数字看起来相同。