0%

Codeforces 1607B Odd Grasshopper

分析

我们不妨假设某一次移动的距离为 \(k\)

将移动的距离表示出来: \[ (k + 0) - (k + 1) - (k + 2) + (k + 3) = 0 \] 容易发现无论 \(x\) 的奇偶性都存在这一特点。因此我们只需要模拟 \(0\dots3\) 的情况即可。

最后记得开 long long。

代码

1
2
3
4
5
6
7
8
9
ll x = read<ll>(), n = read<ll>();
for (ll i = n - (n % 4) + 1; i <= n; i++) {
if (x & 1) {
x += i;
} else {
x -= i;
}
}
std::cout << x << '\n';