一种简洁地判断impossible的方法:1、输入的数有奇数 2、前一个数减后一个数为负数
#include<iostream> #include<cstring> #include<algorithm> #include<cstdio> #include<cmath> #include<string> #include<iomanip> using namespace std; const int MAX = 10010; int main() { int n,a,b; cin>>n; while(n--) { cin>>a>>b; if((a+b)%2==0 && (a-b)%2==0 && (a+b)/2>=0 && (a-b)/2>=0) cout<<(a+b)/2<<" "<<(a-b)/2<<endl; else cout<<"impossible"<<endl; } return 0; }