피너클의 it공부방
백준 4299 AFC 윔블던 (c++) : 피너클 본문
728x90
반응형
https://www.acmicpc.net/problem/4299
4299번: AFC 윔블던
원섭이는 잉글랜드 4부리그 풋볼 리그 2에서 활약하는 AFC 윔블던을 좋아한다. 이 팀은 2002년 윔블던 FC가 밀턴 킨스로 연고 이전을 감행하자 윔블던의 서포터들이 스스로 나서 창단한 팀이다. 윔
www.acmicpc.net
간단한 수학 문제다.
cin >> a >> b;
if (a < b) {
cout << -1 << endl;
return 0;
}
합과 차를 입력받은 다음 만약 합이 차보다 작다면 바로 -1을 출력한다.
int n = (a + b) / 2;
int m = (a - b) / 2;
그 후 두 팀의 점수를 구한다. 두 팀의 점수를 각각 n과 m이라고 했을 때
n + m = a이고 (a = 두 팀 점수의 합) n - m = b이다 (b = 두 팀 점수의 차)
(n + m) + (n - m) = a + b = 2 * n이니 n은 (a + b) / 2이고
(n + m) - (n - m) = a - b = 2 * m이니 m은 (a - b) / 2이다.
if ((n + m != a) || n - m != b) cout << -1 << endl;
else cout << n << ' ' << m << endl;
만약 n과 m을 더한 값이 a와 다르거나 n과 m을 뺀 값이 b와 다르다면 -1을 출력하고
아니면 n과 m을 출력한다.
#include <iostream>
using namespace std;
int a, b;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> a >> b;
if (a < b) {
cout << -1 << endl;
return 0;
}
int n = (a + b) / 2;
int m = (a - b) / 2;
if ((n + m != a) || n - m != b) cout << -1 << endl;
else cout << n << ' ' << m << endl;
}
전체코드다.
728x90
반응형
'백준' 카테고리의 다른 글
백준 10768 특별한 날 (c++) : 피너클 (0) | 2022.06.04 |
---|---|
백준 10101 삼각형 외우기 (c++) : 피너클 (0) | 2022.06.03 |
백준 16946 벽 부수고 이동하기 4 (c++) : 피너클 (0) | 2022.06.01 |
백준 2752 세수정렬 (c++) : 피너클 (0) | 2022.06.01 |
백준 2420 사파리월드 (c++) : 피너클 (0) | 2022.05.31 |
Comments