CF1790E.Vlad and a Pair of Numbers
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Vlad found two positive numbers a and b (a,b>0). He discovered that a⊕b=2a+b, where ⊕ means the bitwise exclusive OR , and division is performed without rounding..
Since it is easier to remember one number than two, Vlad remembered only a⊕b, let's denote this number as x. Help him find any suitable a and b or tell him that they do not exist.
弗拉德找到了两个正整数 a 和 b(a,b>0)。他发现 a⊕b=2a+b,其中 ⊕ 表示按位异或,且除法运算不进行四舍五入。
由于只记住一个数比记住两个数更容易,弗拉德仅记住了 a⊕b,我们将其记为 x。请帮助他找出任意一组满足条件的 a 和 b,或者告诉他这样的 a 和 b 不存在。
输入格式
The first line of the input data contains the single integer t (1≤t≤104) — the number of test cases in the test.
Each test case is described by a single integer x (1≤x≤229) — the number that Vlad remembered.
输入数据的第一行包含一个整数 t(1≤t≤104)—— 表示测试用例的数量。
每个测试用例由一个整数 x(1≤x≤229)描述—— 即弗拉德所记住的数字。
输出格式
Output t lines, each of which is the answer to the corresponding test case. As the answer, output a and b (0<a,b≤232), such that x=a⊕b=2a+b. If there are several answers, output any of them. If there are no matching pairs, output -1.
输出 t 行,每行对应一个测试用例的答案。作为答案,输出满足条件的 a 和 b(0<a,b≤232),使得 x=a⊕b=2a+b。若存在多个答案,输出任意一个即可;若不存在满足条件的数对,则输出 -1。
输入输出样例
输入#1
6 2 5 10 6 18 36
输出#1
3 1 -1 13 7 -1 25 11 50 22
输入解题思路,AI测评打分。不知道怎么写?