#ABC347D. Popcount 与异或
Popcount 与异或
Popcount 与异或
题目描述
给定非负整数 、 和 。
判断是否存在满足以下全部五个条件的非负整数对 。如果存在,输出其中一对。
其中, 表示按位异或。
如果存在多对满足条件的 ,输出任意一对即可。
什么是 popcount?
对于非负整数 , 的 popcount 是指 的二进制表示中 的个数。
更准确地说,对于满足 $\displaystyle x=\sum _ {i=0} ^ \infty b _ i2 ^ i\ (b _ i\in\lbrace0,1\rbrace)$ 的非负整数 ,有 $\displaystyle\operatorname{popcount}(x)=\sum _ {i=0} ^ \infty b _ i$。
例如, 的二进制表示是 1101,所以 。
什么是按位异或?
对于非负整数 ,按位异或 定义如下。
在 的二进制表示中, 这一位为 ,当且仅当 和 的二进制表示中 这一位恰好有一个为 ;否则该位为 。
例如, 和 的二进制表示分别为 1001 和 0011,所以 (二进制为 1010)。
输入格式
输入按以下格式从标准输入给出:
输出格式
如果存在满足条件的非负整数对,选择其中一对 ,以空格分隔按顺序输出 和 。
如果不存在这样的对,输出 -1。
样例
3 4 7
28 27
对 满足条件。
这里, 和 的二进制表示分别为 11100 和 11011。
的二进制表示是 11100,所以 。
的二进制表示是 11011,所以 。
的二进制表示是 00111,所以 。
如果存在多对满足条件的非负整数对,输出任意一对即可,例如输出 42 45 也会被判定为正确。
34 56 998244353
-1
不存在满足条件的非负整数对。
39 47 530423800524412070
540431255696862041 10008854347644927
注意,要输出的值可能无法放入 位整数中。
数据范围
- 所有输入值均为整数。
提示
答案不唯一,输出任意合法解即可。
难度
普及+/提高-
通过率
—
尝试
0
已通过
0
- ID
- 3252
- 类型
- 传统题
- Time Limit
- 2000ms
- Memory Limit
- 1024MiB
- 上传者