(VP again)

做题速度有待进一步提升。T4 模拟因为位运算的实现有一些问题,导致只拿了 30 分。 T5、T6 使用了 register int,导致无法在 C++17 环境下通过编译,而且优化效果有限,

错因分析

D. 小苯的左右移动

知识点:位运算,模拟
位运算的位数过多,在不同的编译环境下可能会有问题,注意避免。此外,还不小心把题目看成了“如果 为偶数,则左移,否则右移”。

记录原数字 被左移(右移)的位数 ,每次操作结束后如果 ,则逐次进行右移操作,每次 ,直到 为 0,或 为 0。最后,如果 为 0,则输出 0;否则,输出 。注意这里的 在执行乘法之前需要先取模,不然会爆 long long