CF1556A.A Variety of Operations
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述

William has two numbers a and b initially both equal to zero. William mastered performing three different operations with them quickly. Before performing each operation some positive integer k is picked, which is then used to perform one of the following operations: (note, that for each operation you can choose a new positive integer k)
- add number k to both a and b, or
- add number k to a and subtract k from b, or
- add number k to b and subtract k from a.
Note that after performing operations, numbers a and b may become negative as well.
William wants to find out the minimal number of operations he would have to perform to make a equal to his favorite number c and b equal to his second favorite number d.

威廉最初有两个数 a 和 b,其值均为 0。威廉已熟练掌握对这两个数执行以下三种不同操作:每次执行操作前,需先选定一个正整数 k,然后用该 k 执行以下三种操作之一(注意:每次操作均可重新选择一个新的正整数 k):
- 将数 k 同时加到 a 和 b 上;
- 将数 k 加到 a 上,同时从 b 中减去 k;
- 将数 k 加到 b 上,同时从 a 中减去 k。
注意:执行操作后,a 和 b 的值可能变为负数。
威廉希望知道:为使 a 等于他最喜爱的数 c、b 等于他第二喜爱的数 d,他至少需要执行多少次操作?
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t (1≤t≤104). Description of the test cases follows.
The only line of each test case contains two integers c and d (0≤c,d≤109), which are William's favorite numbers and which he wants a and b to be transformed into.
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤104)。随后是测试用例的描述。
每个测试用例仅有一行,包含两个整数 c 和 d(0≤c,d≤109),它们是 William 最喜欢的数字,他希望将 a 和 b 变换为这两个数字。
输出格式
For each test case output a single number, which is the minimal number of operations which William would have to perform to make a equal to c and b equal to d, or −1 if it is impossible to achieve this using the described operations.
对于每个测试用例,输出一个整数,表示 William 需要执行的最少操作次数,使得 a 等于 c 且 b 等于 d;如果无法通过所描述的操作实现该目标,则输出 −1。
输入输出样例
输入#1
6 1 2 3 5 5 3 6 6 8 0 0 0
输出#1
-1 2 2 1 2 0
说明/提示
Let us demonstrate one of the suboptimal ways of getting a pair (3,5):
- Using an operation of the first type with k=1, the current pair would be equal to (1,1).
- Using an operation of the third type with k=8, the current pair would be equal to (−7,9).
- Using an operation of the second type with k=7, the current pair would be equal to (0,2).
- Using an operation of the first type with k=3, the current pair would be equal to (3,5).
让我们演示一种得到数对 (3,5) 的非最优方法:
- 使用第一类操作,取 k=1,当前数对变为 (1,1)。
- 使用第三类操作,取 k=8,当前数对变为 (−7,9)。
- 使用第二类操作,取 k=7,当前数对变为 (0,2)。
- 使用第一类操作,取 k=3,当前数对变为 (3,5)。
输入解题思路,AI测评打分。不知道怎么写?