惯例,先粘个生草翻译
题目大概就是给你
a
a
a点(在数轴上
然后看你能不能找到让
o
−
b
o-b
o−b与
b
−
a
b-a
b−a的距离为k的点
(
b
)
(b)
(b)
这生草翻译让我看了半天才懂
其实我们可以通过样例找出规律
1.很显然如果
n
<
k
n<k
n<k,那么要往右移才行,步骤就是
k
−
n
k-n
k−n
2.如果满足1,我们发现最多只要一步就可以满足到题目描述,我们就要分奇偶判断情况,(这些都可以从样例找出)
具体证明可以看楼上,因为我是看样例得出规律的
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int n,k;
cin>>n>>k;
if(n<k){
cout<<k-n<<endl;
continue;
}
else if(n==k){
cout<<0<<endl;
}
else if(n&1){
if(k&1)
cout<<0<<endl;
else cout<<1<<endl;
}
else{
if(k&1)
cout<<1<<endl;
else cout<<0<<endl;
//cout<<(n/2-k)-(n-n/2)<<endl;这是之前照着题目说明打的憨憨式子( 没卵用
}
}
return 0;
}