#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
cin >> t;
while (t--) {
int a, b;
cin >> a >> b;
if (a == b) cout << 0 << endl;
else cout << 1 + int((a < b) ^ ((b - a) & 1)) << endl;
}
return 0;
}
请有人描述一下上面的陈述。这个陈述是如何运作的,这个陈述的结果是什么。这段代码是codeforces中的一段代码。链接:https://codeforces.com/blog/entry/74224
让我们循序渐进。
c = (b - a) & 1
-检查是否设置了b - a
的最后一位,与检查b - a
是否为奇数相同d = (a < b) ^ c
-如果int(a < b) != c
,则返回true1 + int(d)
-应清楚
然后我们有
(b - a) - odd (b - a) - even
(a < b) 1 2
(a >= b) 2 1