题解(位运算)
题目定义的编号是 base 1 的,而取模运算是 base 0 的,当编号正好是 mod 的整数倍是会出错。这里有一个技巧,我们可以先对编号偏移到 base 0 取模,最后再偏移回来。
fun main(args: Array<String>) {
repeat(nextInt()) {
val m = nextInt()
val x = nextInt()
println((x - 1) % m + 1)
}
done()
}
复杂度分析:
- 时间复杂度:O(1)
- 空间复杂度:O(1)