ROSECODE 180
试管
Tubes
考虑名为 A、B、C、D、E、F 的 6 管
分别具有容量 10,10,7,7,7,7。
在第一种状态下,它们包含以下内容
某种液体的单位量(A 至 F):
9、7、6、5、0、0
目标状态如下(A到F):
9、2、2、2、5、7
将每个状态视为十六进制数字 (FEDCBA) 并
为它们分配一个 6 位数字
如以下示例所示:
第一个状态=005679
最后状态=752229
我们需要以最低限度达到目标状态
步数。
设 A 为大小为 k 的最终数组,其中包含状态
(从第一个到最后一个)其中:
A=[005679,...,752229]
其中A[i]是第i阶段的状态,i=1,..,k
设 N 为连接得到的十六进制数
上述数组的十六进制数字:
N=005679...752229 或
N=A[1]*B^(k-1)+A[2]*B^(k-2)+...+A[k]*B^0 其中 B=16^6
找到最小的N。
(即找到字典顺序第一的最短路径。)
答案格式:N Mod 1000000007
示例:
容量:7,6,5,4,4,4
第一:7、5、0、0、0、0
最后:3、2、3、4、0、0
1:7、5、0、0、0、0 s=000057
2:3、5、0、4、0、0 s=004053
3:3、5、4、0、0、0 s=000453
4:3、6、3、0、0、0 s=000363
5:3、2、3、4、0、0 s=004323
N = 000057004053000453000363004323(十六进制)
N Mod 1000000007 = 10356901(十进制)
[我的计时:25s]