A. Add Odd or Subtract Even
time limit per test2 seconds
memory limit per test256 megabytes
inputstandard input
outputstandard output
You are given two positive integers a and b.

In one move, you can change a in the following way:

Choose any positive odd integer x (x>0) and replace a with a+x;
choose any positive even integer y (y>0) and replace a with a−y.
You can perform as many such operations as you want. You can choose the same numbers x and y in different moves.

Your task is to find the minimum number of moves required to obtain b from a. It is guaranteed that you can always obtain b from a.

You have to answer t independent test cases.

Input
The first line of the input contains one integer t (1≤t≤104) — the number of test cases.

Then t test cases follow. Each test case is given as two space-separated integers a and b (1≤a,b≤109).

Output
For each test case, print the answer — the minimum number of moves required to obtain b from a if you can perform any number of moves described in the problem statement. It is guaranteed that you can always obtain b from a.

Example
inputCopy
5
2 3
10 10
2 4
7 4
9 3
outputCopy
1
0
2
2
1
Note
In the first test case, you can just add 1.

In the second test case, you don’t need to do anything.

In the third test case, you can add 1 two times.

In the fourth test case, you can subtract 4 and add 1.

In the fifth test case, you can just subtract 6.

题意:就是给了a和b两个数,现在有两个操作
一是选择奇数 让a变成a+x
二是选择偶数 让a变成a-y
问你最少操作多少次能让a变成b

思路:先计算出来a和b的差值呗 cha=b-a
如果cha==0 就输出0
如果cha>0 说明b比a大 a要加上去 又因为加只能加奇数 我们判断差是奇数还是偶数 是奇数就输出1 偶数就输出2 因为偶数=奇数+奇数
如果cha<0 说明b比a小 a要往下减 还是看差的奇偶 偶数就输出1 奇数就输出2

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define me(a,x) memset(a,x,sizeof a)
#define rep(i,x,n) for(int i=x;i<n;i++)
#define repd(i,x,n) for(int i=x;i<=n;i++)
#define all(x) (x).begin(), (x).end()
#define pb(a) push_back(a)
#define paii pair<int,int>
#define pali pair<ll,int>
#define pail pair<int,ll>
#define pall pair<ll,ll>
#define fi first
#define se second
int main()
{
   int t;cin>>t;
   while(t--){
      int a,b;
      cin>>a>>b;
      int cha=b-a;
      if(cha==0) puts("0");
      else if(cha>0){
         if(cha&1) puts("1");
         else puts("2");
      }
      else{
        if(cha&1) puts("2");
         else puts("1");
      }

   }
   return 0;
}