CF76D.Plus and xor

普及+/提高

通过率:0%

时间限制:0.50s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Bitwise exclusive OR (or bitwise addition modulo two) is a binary operation which is equivalent to applying logical exclusive OR to every pair of bits located on the same positions in binary notation of operands. In other words, a binary digit of the result is equal to 1 if and only if bits on the respective positions in the operands are different.

For example, if X = 10910 = 11011012, Y = 4110 = 1010012, then:

X xor Y  =  6810  =  10001002.

Write a program, which takes two non-negative integers A and B as an input and finds two non-negative integers X and Y, which satisfy the following conditions:

  • A = X + Y
  • B  =  X xor Y, where xor is bitwise exclusive or.
  • X is the smallest number among all numbers for which the first two conditions are true.

按位异或(亦称模二加法)是一种二元运算,其等价于对两个操作数的二进制表示中处于相同位置的每一对比特执行逻辑异或运算。换言之,结果的某一位为 1 当且仅当两个操作数在该位置上的比特值不同。

例如,若 X=10910=11011012X = 109_{10} = 1101101_2,Y=4110=1010012Y = 41_{10} = 101001_2,则:

X xor Y=6810=10001002X \text{ xor } Y = 68_{10} = 1000100_2。

请编写一个程序,输入两个非负整数 AA 和 BB,并找出两个非负整数 XX 和 YY,使其满足以下条件:

  • A=X+YA = X + Y
  • B=X xor YB = X \text{ xor } Y,其中 xor\text{xor} 表示按位异或运算。
  • 在所有满足前两个条件的数对中,XX 取最小值。

输入格式

The first line contains integer number A and the second line contains integer number B (0 ≤ A, B ≤ 264 - 1).

第一行包含整数 A,第二行包含整数 B(0 ≤ A, B ≤ 264 - 1)。

输出格式

The only output line should contain two integer non-negative numbers X and Y. Print the only number -1 if there is no answer.

唯一的一行输出应包含两个非负整数 XX 和 YY。如果无解,则仅输出数字 −1-1。

输入输出样例

  • 输入#1

    142
    76

    输出#1

    33 109

输入解题思路,AI测评打分。不知道怎么写?

首页