SP729 MAXIMUS - Move your armies

题目描述

康莫杜斯在你的协助下发现了叛徒马克西姆。在得知消息后,他召集了 $N$ 支精锐部队 $A_1, A_2, \ldots, A_N$,并请求你带领这些部队去消灭马克西姆。作为一名勇猛的战士,你必须巧妙地指挥部队赢得胜利。 这里涉及到三个国家,我们将它们分别命名为 $C_0$、$C_1$ 和 $C_2$。目前,你已经带领部队驻扎在 $C_0$,而你知道马克西姆位于 $C_2$。你深知,如果无法集合所有 $N$ 支部队,你将无法击败强大的马克西姆。值得注意的是,你的部队非常自负(毕竟是康莫杜斯组织的部队)。只有当前地点内最大的部队才能出发前往其他国家(即,在 $C_y$ 中,如果没有编号大于 $A_x$ 的部队 $A_i$,那么 $A_x$ 才能离开 $C_y$)。同样地,部队 $A_x$ 如果到达新地点,必须是该地最大的部队,亦即在新地点中也没有编号大于 $A_x$ 的部队 $A_i$。 此外,还有一个复杂的问题:每支部队 $A_m$ 由不同的指挥官训练,因此行军方式不同。编号为 1 或质数的部队 $A_m$ 只能从 $C_i$ 移动到 $C_{(i+1) \% 3}$;而编号大于 1 且为合数的部队 $A_m$ 则只能从 $C_i$ 移动到 $C_{(i+2) \% 3}$。 康莫杜斯很急迫,他希望你能算出需要多少步才能抵达马克西姆所在的位置。你的目标是以最少的步数到达那里,请告知康莫杜斯这个数值。 例如,当 $N = 2$ 时: 共需要 7 步,如下所示: 初始状态: - $C_0$ - $A_1, A_2$ - $C_1$ - - $C_2$ - 第 1 步: - $C_0$ - $A_1$ - $C_1$ - $A_2$ - $C_2$ - 第 2 步: - $C_0$ - $A_1$ - $C_1$ - - $C_2$ - $A_2$ 第 3 步: - $C_0$ - - $C_1$ - $A_1$ - $C_2$ - $A_2$ 第 4 步: - $C_0$ - $A_2$ - $C_1$ - $A_1$ - $C_2$ - 第 5 步: - $C_0$ - $A_2$ - $C_1$ - - $C_2$ - $A_1$ 第 6 步: - $C_0$ - - $C_1$ - $A_2$ - $C_2$ - $A_1$ 第 7 步: - $C_0$ - - $C_1$ - - $C_2$ - $A_1, A_2$

输入格式

输入包含最多 100 个测试用例。每个测试用例由一个整数 $N$(部队数量,$1 \le N \le 5000$)组成。输入结束标志是一个单独的 0。

输出格式

对于每个给定的整数 $N$,输出将所有部队移动到 $C_2$ 所需的最小步数。 **本翻译由 AI 自动生成**