CF-76D3
异或运算
⏱ 0.5s💾 256MB
📋 题目描述
给定两个整数 ,,请你找到两个整数 , 满足以下两个个条件: () ; () ,其中 表示异或运算; () 是满足上述两个条件的所有非负整数中最小的数。
📥 输入格式
共有两行,第一行仅有一个整数 ,第二行仅有一个整数 ( )。
📤 输出格式
如果无法找到满足题目要求的数输出 ,否则在同一行输出两个整数 , ,两数间用一个空格分隔。
📝 样例 1
输入
142 76
输出
33 109
📚 来源
Problem:CF-76D
💡 题目讲解
1
理解题意
已知 ,。求最小的非负整数 。
题目里同时出现了 加法(+) 和 异或(⊕)——这就是一个信号,告诉我们应该思考它们之间的关系。
先来回顾两个基本运算。
异或(⊕):按位比较——相同为 0,不同为 1。
5 = 101
⊕ 3 = 011
─────────
110 = 6
与(&):按位比较——两个位都是 1 才得 1。
5 = 101
& 3 = 011
─────────
001 = 1
1 / 6