Codeforces Round #624 (Div. 3)——A

A: Add Odd or Subtract Even

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
input
5
2 3
10 10
2 4
7 4
9 3
output
1
0
2
2
1

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
 
int main()
{
    long long int t,a,b,c,d;
    scanf("%lld",&t);
    while(t>0)
    {
        t--;
        scanf("%lld %lld",&a,&b);
        if(a==b){
            printf("0\n");
        }
        else if(a<b){
            c=b-a;
            if(c%2!=0){
                printf("1\n");
            }
            else{
                printf("2\n");
            }
        }
        else if(a>b){
                d=a-b;
            if(d%2==0){
                printf("1\n");
            }
            else{
                printf("2\n");
            }
        }
    }
    return 0;
}

你可能感兴趣的:(Codeforces Round #624 (Div. 3)——A)