HDU--1149

HDU 1149 Beat the Spread!
超级碗周日就要到了。为了打发半天等待商业广告和衣柜故障的时间,当地黑客组织了一个赌球游戏。会员们把赌注押在最后两个分数的总和上,或者两个分数之间的绝对差。

给出每种类型的赌注的中奖号码,你能推断出最后的分数吗?

输入

输入的第一行包含n,即测试用例的数量。接下来是n行,每行代表一个测试用例。每个测试用例给出s和d,非负整数,表示两个最终分数之间的和和(绝对)差。

输出

对于每个测试用例,输出一行给出两个最终得分,最大的第一个。如果没有这样的分数,输出一行包含“不可能”。回想一下足球成绩总是非负整数。
Sample Input
2
40 20
20 40

Sample Output
30 10
impossible

care:输入a b,注意俩种情况
1.a<b
2.a,b一个为奇数一个为偶数
除去这俩种情况就可以的答案了

#include<iostream>
#include<string>
using namespace std;
int main()
{
	int a, b, n; cin >> n; int x, y;
	while (n--)
	{
		cin >> a >> b;
		if (a < b)cout << "impossible" << '\n';//除去a<b的情况
		else if ((a + b) % 2 != 0)cout << "impossible" << '\n';//确保a,b和与差同奇偶
		else
		{
			x = (a + b) / 2; y = (a - b) / 2;
			cout << x << ' ' << y << '\n';
		}
	}
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值