【題目敘述】https://zerojudge.tw/ShowProblem?problemid=c004
【解題想法】
- 假設2隊的分數大者為 x,小者為 y。
- s = x + y
- d = x – y
- s + d = 2 x,必為偶數
- s – d = 2 y,必定大於等於零。
#include <iostream>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int T, s, d;
cin >> T;
while (T--){
cin >> s >> d;
if ((s + d) % 2 || s < d) cout << "impossible\n";
else {
cout << (s+d)/2 << " " << (s-d)/2 << "\n";
}
}
return 0;
}
Python code (credit: Amy Chou)
T = int(input())
for t in range(T):
s, d = map(int, input().split())
if (s+d)%2 != 0 or s < d:
print('impossible')
else:
print((s + d) // 2, (s - d) // 2)