Amary - 题解
本题可以说是一道思维题。(虽然思维难度也不大..)
分类讨论:
这题思维难度不大,只是需要分类讨论。
- \(x\),\(y\) 都等于 \(0\) 时—— 只需要构造一组相等的数即可。
- \(x=y\) 且都不为 \(0\),因为一个数除以一个与其相等的数,余数必为 \(0\),所以无解,输出 \(-1\)。
- \(x>y\) 时,则 \(A=x\),\(B=x+y\)。
- \(x<y\) 时,则 \(A=x+y\),\(B=y\)。
分析完,就是代码实现了,其实并不难,根据分析一步一步判断即可。
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long x, y;
cin >> x >> y;
if (x == 0 && y == 0)
{
cout << "2 2" << endl;
}
else if (x == y)
{
cout << "-1" << endl;
}
else if (x > y)
{
if (y == 0)
{
cout << x << " " << x + x << endl;
}
else
{
cout << x << " " << x + y << endl;
}
}
else
{
if (x == 0)
{
cout << y + y << " " << y << endl;
}
else
{
cout << x + y << " " << y << endl;
}
}
return 0;
}

浙公网安备 33010602011771号