CC's

Back

给出一个N×NN \times N的非负整数矩阵,要求找到一条从左上角数字到右下角数字的路线,且

  • 只能向右或者下走。
  • 将经过数字相乘后得到的结果,使其末尾的“0”最少。
N1000N \leq 1000

分析#

大概是因为末尾的0长得像珍珠。

思考0是怎么出现的,可以发现结果中因数10的指数越小越好,即,使得经过的路上凑出的因数10最少即可。10的质因数分解为2×52 \times 5,以矩阵中每个数所含因数2和5的数目分别DP一遍求路径,再在两次DP的结果中取小。

一个特殊情况是数字里有0,那么经过0的路的末尾0一定是1个……一开始脑袋抽了以为是0个。如果其他情况的路径末尾0都多于1个的话,就特判走0。

代码#

[CF] 珍珠奶茶
https://astro-pure.js.org/blog/warmupcf-milktea
Author Cheng Chen
Published at 2019年7月20日
Comment seems to stuck. Try to refresh?✨