#P11014. 益智游戏(升级)

益智游戏(升级)

题目背景

Q\verb|Q| 开发了一款智力游戏,游戏设备由 55 个编号为 151~5 的可感知触碰的显示屏和发射塑料子弹打击显示屏的玩具枪组成。游戏开始时,编号为 11 的显示屏会随机从 +-*/% 这五个字符(分别对应加、减、乘、除、模这五种运算)中选择一个显示,其他 44 个显示屏会随机从 090~9 这十个数字中选择一个显示(可能会有一些显示屏显示的数字相同)。

游戏会给出一个目标整数 KK,游戏玩家需要按照一定的策略多次发射子弹打击显示屏,可知将先后射击的显示屏的显示内容依次拼接起来会构成一个计算表达式,如果计算表达式的结果是目标整数 KK,则挑战成功。

例如,某次游戏 55 个显示屏显示内容依次是 +3826,如果游戏者依次射击显示屏的序号是 3,1,5,2\verb|3,1,5,2| ,则会构成一个计算表达式 8+63\verb|8+63| ,表达式计算结果是 71\verb|71|

需要特别注意的是,要遵守以下游戏规则:

  1. 表示运算符号的第一个显示屏可以多次射击且至少要射击一次。如果第一个显示屏没有被射击,会被判定挑战失败;
  2. 四个显示数字的显示屏最多只能射击一次,也可以不射击。如果某个显示数字的显示屏被多次射击,会被判定挑战失败;
  3. 要保证拼接而成的内容是一个规范的计算表达式(至少有一个运算符号且不少于两个整数,且运算符号不能出现在开始和结束处),否则会被判定挑战失败。例如产生的内容 34\verb|34|+125\verb|+125|6/\verb|6/|12-3-\verb|12-3-|6*8*9*\verb|6*8*9*|,都不是规范的计算表达式,都会被判定挑战失败;
  4. 连续射击两个有数字的显示屏会产生一个两位整数,连续射击三个有数字的显示屏会产生一个三位整数,但如果产生的两位数或三位数高位有多余的 00(例如 0909068068007007),则是一个不合法的整数,会被判定挑战失败。例如此情况产生的表达式 05*2\verb|05*2|8+063\verb|8+063|007-5\verb|007-5|,都会被判定挑战失败;
  5. 如果是除法运算或模运算,要保证表达式的每次除法或模运算的除数不能是 00,否则会被判定挑战失败;
  6. 如果是除法运算,要保证表达式的每次除法都能整除,否则会被判定挑战失败。

题目描述

假设每次游戏开始时,玩具枪里没有子弹。装填一枚子弹需要耗费能量值为 p1p1,一枚子弹只能射击一个显示屏。

玩具枪处一条滑轨上,发射子弹前需要先在滑轨上移动玩具枪的位置以瞄准要射击的显示屏。假设每次游戏开始时,玩具枪都瞄准了第 11 个显示屏。将当前正瞄准了第 ii 个显示屏的玩具枪转换到瞄准第 jj 个显示屏需要将玩具枪移动 ji|j-i| 个单位距离,而移动一个单位距离需要耗费能量值为 p2p2

给定 NN 次游戏目标整数 KK 和 五个显示屏的显示内容,统计每次游戏一共有多少种通过挑战的射击方案,计算这些方案中,耗费的最小能量值。

输入格式

11 行是 33 个正整数 N,p1,p2N,p1,p2

接下来有 NN 行,第 ii 行是第 ii 次游戏的相关信息,第一个数据是目标整数 KK,接着是五个显示屏的显示内容。每行数据之间用一个空格隔开。

输出格式

NN 行,每行 22 个整数,第 ii 行就是第 ii 次游戏通过挑战的射击方案数和所有通过挑战的方案中耗费的最小能量值。每行数据之间用一个空格隔开。

输入输出样例

2 2 4
1 / 8 2 4 8
4 + 1 1 1 1
6 30
24 78

说明/提示

对于样例 11 的第一次游戏,仅有下面 66 种射击方案挑战成功:

  1. 依次射击序号为 2,1,3,1,4\verb|2,1,3,1,4| 的显示屏,构成表达式 8/2/4\verb|8/2/4|,结果为目标整数 11,挑战成功;需要装填 55 枚子弹,耗费能量值为 1010;瞄准的过程总共移动 99 个单位,耗费能量值为 3636。可知耗费的总能量值为 4646
  2. 依次射击序号为 2,1,4,1,3\verb|2,1,4,1,3| 的显示屏,构成表达式 8/4/2\verb|8/4/2|,结果为目标整数 11,挑战成功;需要装填 55 枚子弹,耗费能量值为 1010;瞄准的过程总共移动 1010 个单位,耗费能量值为 4040。可知耗费的总能量值为 5050
  3. 依次射击序号为 2,1,5\verb|2,1,5| 的显示屏,构成表达式 8/8\verb|8/8|,结果为目标整数 11,挑战成功;需要装填 33 枚子弹,耗费能量值为 66;瞄准的过程总共移动 66 个单位,耗费能量值为 2424。可知耗费的总能量值为 3030
  4. 依次射击序号为 5,1,2\verb|5,1,2| 的显示屏,构成表达式 8/8\verb|8/8|,结果为目标整数 11,挑战成功;需要装填 33 枚子弹,耗费能量值为 66;瞄准的过程总共移动 99 个单位,耗费能量值为 3636。可知耗费的总能量值为 4242
  5. 依次射击序号为 5,1,3,1,4\verb|5,1,3,1,4| 的显示屏,构成表达式 8/2/4\verb|8/2/4|,结果为目标整数 11,挑战成功;需要装填 55 枚子弹,耗费能量值为 1010;瞄准的过程总共移动 1515 个单位,耗费能量值为 6060。可知耗费的总能量值为 7070
  6. 依次射击序号为 5,1,4,1,3\verb|5,1,4,1,3| 的显示屏,构成表达式 8/4/2\verb|8/4/2|,结果为目标整数 11,挑战成功;需要装填 55 枚子弹,耗费能量值为 1010;瞄准的过程总共移动 1616 个单位,耗费能量值为 6464。可知耗费的总能量值为 7474

可知样例 11 的第一次游戏所有通过挑战的方案中耗费的最小能量值是 3030


对于样例 11 的第二次游戏,可知 1 1 1 1\verb|1 1 1 1| 的全排列的每一种情况都对应了一种方案,一共有 2424 种方案,所有通过挑战的方案中耗费的最小能量值是 7878,也就是:依次射击序号为 2,1,3,1,4,1,5\verb|2,1,3,1,4,1,5| 的显示屏,构成表达式 1+1+1+1\verb|1+1+1+1|,结果为目标整数 44;需要装填 77 枚子弹,耗费能量值为 1414;瞄准的过程总共移动 1616 个单位,耗费能量值为 6464,耗费的总能量值为 7878。其他方案耗费的能量值都不低于此方案。


👀️ 对于100%100\% 的数据,$N \leq 1000,1 \leq p1,p2 \leq 10,0 \leq K \leq 9000$,每次游戏挑战成功方案数量不为 00