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 自动生成**