编程题
防御力 ### 题目描述 小明最近在玩一款游戏。对游戏中的防御力很感兴趣。 我们认为直接影响防御的参数为"防御性能",记作 $d$ ,而面板上有两个防御值 $A$ 和 $B$ ,与 $d$ 成对数关系,$A=2^d,B=3^d$(注意任何时候上式都成立)。 在游戏过程中,可能有一些道具把防御值 $A$ 增加一个值,有另一些道具把防御值 $B$ 增加一个值。 现在小明身上有 $n_1$ 个道具增加 $A$ 的值和 $n_2$ 个道具增加 $B$ 的值,增加量已知。 现在已知第 $i$ 次使用的道具是增加 $A$ 还是增加 $B$ 的值,但具体使用那个道具是不确定的,请找到一个字典序最小的使用道具的方式,使得最终的防御性能最大。 初始时防御性能为 $0$,即 $d=0$,所以 $A=B=1$。 ### 输入描述 输入的第一行包含两个数 n1,n2,空格分隔。 第二行 n1 个数,表示增加 A 值的那些道具的增加量。 第三行 n2 个数,表示增加 B 值的那些道具的增加量。 第四行一个长度为 n1+n2 的字符串,由 0 和 1 组成,表示道具的使用顺序。0 表示使用增加 A 值的道具,1 表示使用增加 B 值的道具。输入数据保证恰好有 n1 个 0,n2 个 1 。 其中,字符串长度 $\leq 2 \times 10^6$,输入的每个增加值不超过 $2^{30}$。 ### 输出描述 对于每组数据,输出 $n_1+n_2+1$ 行。 前 $n_1+n_2$ 行按顺序输出道具的使用情况,若使用增加$ A$ 值的道具,输出 $Ax,x$ 为道具在该类道具中的编号(从 1 开始)。若使用增加 $B$ 值的道具则输出 $Bx$。 最后一行输出一个大写字母 E 。 ### 输入输出样例 #### 示例 > 输入 ```txt 1 2 4 2 8 101 ``` > 输出 ```txt B2 A1 B1 E ```
查看答案
赣ICP备20007335号-2