두 팀이 득점한 점수의 합과 차가 주어졌을 때, 두 팀의 성적을 출력한다.
두 팀의 성적은 a, b라 하고 합을 S, 차를 D 라고 하면 {a+b=Sa−b=D(a ≥ b) 이다.
다시 말하면, a = (S+D)/2, b = (S-D)/2 이다.
두 팀이 서로 경기를 했으니 a, b 는 짝수일수밖에 없고, 음수가 나와도 잘못된 입력이라는 의미이다.
#include <bits/stdc++.h>
using namespace std;
int main(){
int s, d;
scanf("%d %d", &s, &d);
if((s+d)%2) return puts("-1"), 0;
int a = (s+d)/2, b = (s-d)/2;
if(a < 0 || b < 0) return puts("-1"), 0;
printf("%d %d", max(a, b), min(a, b));
return 0;
}
댓글 없음:
댓글 쓰기