3 条题解
-
1
来发数学,无列表。
vp,q = map(int,input().split()) for i in range(q): op, j = map(int, input().split()) v = vp//(3**j) # 在j之前的位数所代表的值,删去后面所有的数 vo = vp%(3**j) # 在j之后的位数所代表的值 if op==3 : if (v%3==1): # j位是1 v = v+1 elif (v%3==2): # j位是2 v = v-1 else : # 瞪眼法可知,一二情况即为j位往上数两位。 v = (v%3+op)%3+v//3*3 vp = v*(3**j)+vo # 计算最后的数 print(vp)
信息
- ID
- 933
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 8
- 标签
- 递交数
- 673
- 已通过
- 102
- 上传者