cf--contest1311--A. Add Odd or Subtract Even+简单推理

传送门

http://codeforces.com/contest/1311/problem/A

题意:

有两个数a和b,对a进行操作,使得a==b,你可以进行以下操作。
1.a加一个奇数(大于零的奇数);
2.a减一个偶数(大于零的偶数);

思路:

1.如果a>b,则判断a-b是奇数还是偶数,如果是奇数,则需要加一,然后再减去一个偶数(a==b),次数为2;如果是偶数直接就减去一个偶数,次数为1;
2.如果a<b,则判断b-a是奇数还是偶数,如果是奇数,直接加一个奇数,次数为1;如果是偶数,则需要先加两次不同奇数,次数为2。

AC代码
#include<cstdio>
int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		int a,b;
		scanf("%d%d",&a,&b);
		if(a==b)	puts("0");
		else if(a>b)
		{
			int x=a-b;
			if(x%2)	puts("2");
			else	puts("1");
		}
		else //a<b
		{
			int x=b-a;
			if(x%2)	puts("1");
			else	puts("2");
		}
	}
	return 0;
}
发布了39 篇原创文章 · 获赞 1 · 访问量 563

猜你喜欢

转载自blog.csdn.net/qq_45249273/article/details/104504330