#P10510. 进制
进制
题目背景
为了提供更加良好的区分度,相较于蓝桥杯国赛,本场比赛的所有程序设计题添加了额外样例,请在附件处下载。
其中,后缀名为 的文件为输入文件, 的文件为输出文件。您可以使用这些额外样例检验自己的程序正确性。但我们不保证通过额外样例一定能取得您期望的分数。
此外,我们提供了相较蓝桥杯国赛更多档的部分分,以确保分数分布更为科学合理。
题目描述
小洛正在学习三进制。他定义三进制数为每一位只包括 三种数的无穷长的数字串 。
与一般的三进制数不同的是,小洛的三进制数从左往右书写。例如,在常规表述下, 的三进制表示为 ,而在小洛的三进制数表示下为 。
小洛特别喜欢从 开始计数,因此他规定三进制的第 位为最左侧的那一数位。
下表给出了小洛的三进制数表示下,数字 的最低的 位数位以及位权:
三进制数表示 | ||||||||
---|---|---|---|---|---|---|---|---|
位数 | ||||||||
位权 |
现在小洛有一个十进制正整数 (显然,需要将其转化为小洛的三进制数表示),并且给定三种操作:
- 操作一,将第 位上的数进行操作: 变为 , 变为 , 变为 。
- 操作二,将第 位上的数进行操作: 变为 , 变为 , 变为 。
- 操作三,将第 位上的数进行操作: 变为 , 变为 , 不变。
小洛一共要进行 次操作。每次操作后,小洛需要得到三进制串代表的数值。请你告诉他。
如果对题意有不清晰之处,请查看样例解释。
输入格式
第一行输入两个正整数 。
接下来 行,每行一个操作,形如 op i
。
请注意,你需要将 转化为三进制串并作为初始的三进制串。
输出格式
输出共 行,第 行表示第 个操作后的答案。
4 3
1 1
2 0
1 2
7
6
15
提示
【样例解释】
初始时,,转化为小洛的三进制数为 ,接下来进行了 次操作:
- 将第 位上的数位从 变为 ,三进制数变为 ,十进制下为 。
- 将第 位上的数位从 变为 ,三进制数变为 ,十进制下为 。
- 将第 位上的数位从 变为 ,三进制数变为 ,十进制下为 。
【数据范围】
- 对于 的数据,保证 。
- 对于另外 的数据,保证不含操作三。
对于所有数据,保证 ,,任意获取到的答案不超过 。