Flip of Time
沙漏是一个 元组(upper, lower) ,表示沙漏上下两个腔室中当前存储的沙子的分钟数,这两个腔室都足够大,可以容纳沙漏中的所有沙子。因此,m 分钟后,该沙漏的状态将是upper - min(upper, m), lower + min(upper, m) 。沙漏内的沙子总量永远不会改变,两个沙漏室中也永远不会出现负反沙。
给定一个glasses 的列表,你的任务是找到一个最佳的移动序列,以精确测量t 分钟,并以沿途完成的单个沙漏翻转的次数来计分。每次移动包括两个阶段:
- 首先,您必须等待上腔中目前装有最低非零量m 沙漏的沙子耗尽。
- 当沙漏耗尽时,选择glasses 的任意子集,并立即翻转所选子集。
请看示例 [(7, 0), (11, 0)], 15的例子。您可以在Popular Mechanics article 中找到对略有变化的情况的解释。
在第一阶段,您没有任何等待的选择,但在第二阶段,您可以享受2n- 1 种可能的棋步,n 眼镜的尴尬!
...
You should be an authorized user in order to see the full description and start solving this mission.