hdu 1194 Beat the Spread!(水题)

小记:英语很重要,一开始就看不懂题...


题意:给你两个数的和和两个数的差,要你求这两个数。 如果没得这样的两个数就输出impossible,这两个分数就是超级杯的两个队伍的比分


思路:两个数的和和差,这两个数,要么都是偶数,要么都是奇数。否则就是impossible。


代码:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

#define N 100010
#define MAX 1000010


int T, a, b, n;

int main() {

    while(~scanf("%d",&n)) {
        for(int i = 0; i < n; ++i){
        	scanf("%d%d",&a,&b);
        	if(a<b){
                printf("impossible\n");continue;
        	}
        	if((a%2==0&&b%2==0)||(a%2&&b%2)){
                printf("%d %d\n",b+(a-b)/2,a-b-(a-b)/2);
        	}
        	else {
                printf("impossible\n");
        	}
        }
    }
    return 0;
}


你可能感兴趣的:(hdu 1194 Beat the Spread!(水题))