简单的数学题目,就是解方程。
不过需要注意的是,解出来的两个解没有负数。
输入m和n,方程1:x + y = m;方程2:| x - y | = n;
x = (n + m)/ 2; y = (-n + m)/ 2;
注意:n + m和m - n 必须是偶数!~~做个判断就OK了。
AC的代码:
#include <iostream>
using namespace std;
int main()
{
int t, a, b;
cin >> t;
while(t--)
{
cin >> a >> b;
if((b + a) % 2 && (-b + a) % 2)
{
cout << "impossible" << endl;
continue;
}
int ans_1 = (b + a) / 2;
int ans_2 = (-b + a) / 2;
if(ans_1 > 0 && (b + a) % 2 == 0 && a - ans_1 > 0)
cout << ans_1 << ' ' << a - ans_1 << endl;
else if(ans_2 > 0 && (-b + a) % 2 == 0 && a - ans_2 > 0)
cout << ans_2 << ' ' << a - ans_2 << endl;
else
cout << "impossible" << endl;
}
return 0;
}