A14385 | A Variety of Operations
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
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$ )
1. add number $k$ to both $a$ and $b$ , or
2. add number $k$ to $a$ and subtract $k$ from $b$ , or
3. 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$ .
1. add number $k$ to both $a$ and $b$ , or
2. add number $k$ to $a$ and subtract $k$ from $b$ , or
3. 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$ .
输入格式
Each test contains multiple test cases. The first line contains the number of test cases $t$ ( $1 \le t \le 10^4$ ). Description of the test cases follows.
The only line of each test case contains two integers $c$ and $d$ $(0 \le c, d \le 10^9)$ , which are William's favorite numbers and which he wants $a$ and $b$ to be transformed into.
The only line of each test case contains two integers $c$ and $d$ $(0 \le c, d \le 10^9)$ , which are William's favorite numbers and which he wants $a$ and $b$ to be transformed into.
输出格式
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.
输入输出样例
输入 #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)$ .
- 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)$ .
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted