题目解析
每个转轴一共只有 0, 1, …\ldots…, 9 共 101010 个字符;
我们可以尝试枚举最终停下来显示的字符,最终从 101010 个答案中取最小的即可。
对于转轴 iii 若想其显示字符 SjS_jSj ,那么根据题目意思,在每 101010 秒一个周期中只能选择第 jjj 秒按下按钮。即时间 ttt 需要满足 t=10×d+jt = 10 \times d + jt=10×d+j。
又每秒只能按一次按钮,我们可以使用一个数组 st 来标记 ttt 秒是否按过按钮, 然后可以枚举 ddd,找到没有按按钮的最小的 t=10×d+jt = 10 \times d + jt=10×d+j,将 st[t]st[t]st[t] 标记为 111。
对于每个字符 xxx,我们统计让所有的转轴停到 xxx,按下按钮最晚的时间 xtx_{t}xt 即可。最终的答案取所有 xtx_txt 中最小的,即 minxt\min{x_t}minxt 。
AC代码
C++ AC代码:
Python AC代码:
复杂度分析
枚举所有的转轴,停在字符 xxx 需要的时间,复杂度为 O(N2)\mathrm{O}(N^2)O(N2),总共 101010 种字符,时间复杂度为 O(N2×10)\mathrm{O}(N^2 \times 10)O(N2×10)。