或许以后会有D。
题目大意:给定两个整数 \(a,b\) ,每次可以进行一下任意一个操作:
问是否可以通过若干次操作把 \(a\) 变成 \(b\)
考虑,对于一个比 \(b\) 小的 \(a\) ,若 \(b-a\) 是一个奇数,那么一定可以通过加上一个奇数使 \(a==b\) ;若差为偶数,则一定可以把 \(a\) 加上一个奇数再减去一个偶数使之满足条件。
\(a>b\) 同理。
#include <iostream>
#include <stdio.h>
using namespace std;
long long t, a, b;
int main()
{
scanf("%lld", &t);
while (t--)
{
scanf("%lld%lld", &a, &b);
if (a > b)
{
if ((a - b) % 2 == 0)
{
printf("1\n");
continue;
}
else
{
printf("2\n");
continue;
}
}
else if (a < b)
{
if ((b - a) % 2 != 0)
{
printf("1\n");
continue;
}
else
{
printf("2\n");
continue;
}
}
else
printf("0\n");
}
return 0;
}
(未完)
原文:https://www.cnblogs.com/BlueInRed/p/12368348.html