링크
풀이
폴란드어로 되어 있는 문제다.
Julka는 어제 유치원에서 다음 수수께끼를 풀면서 교사를 놀라게 했습니다.
Klaudia와 Natalia는 함께 10 개의 사과를 가지고 있지만 Klaudia는 Natalia보다 2개 더 많은 사과를 가지고 있습니다. 각 소녀는 몇 개의 사과를 가지고 있습니까?
Julka는 망설임없이 대답했습니다. Klaudia는 사과가 6개 있고 Natalia는 사과가 4개 있습니다.
튜터는 Julka의 대답이 우연이 아닌지 확인하기로 결정하고 과제에서 사과 수를 늘릴 때마다 수수께끼를 반복했습니다. Julka는 항상 올바르게 대답했습니다. 놀란 선생님은 줄카의 '연구'를 계속하고 싶었지만 숫자가 너무 많아서 스스로 퍼즐을 빨리 풀 수 없었습니다. 유치원 교사를 돕고 해결책을 제시하는 프로그램을 작성하십시오.
다음과 같은 프로그램을 작성하십시오.
두 소녀가 함께 가지고있는 사과의 수와 Klaudia가 더 많이 가지고있는 사과의 수 (표준 입력에서)를 읽습니다.
Klaudia의 사과 수와 Natalia의 사과 수를 계산합니다.
결과를 표준 출력에 씁니다.
입력
입구는 두 줄로 구성되어 있습니다. 첫 번째 줄에는 소녀가 소유 한 모든 사과의 수가 포함되고 두 번째 줄에는 클라우디아가 소유 한 사과 수가 표시됩니다. 두 숫자 모두 정수이고 양수입니다. 소녀들은 총 10^100 개 (1 백 0 개)의 사과를 가지고 있지 않다고 알려져 있습니다. 보시다시피 사과는 매우 작을 수 있습니다.
출력
프로그램은 연속 된 두 줄에 두 개의 정수를 한 줄에 하나씩 써야합니다 (표준 출력에). 첫 번째 줄에는 Claudia의 사과 수, 두 번째 줄에는 Natalia의 사과 수가 포함되어야합니다. 소녀들은 항상 사과 전체를 가지고 있다고 알려져 있습니다.
예제 입력 1
10
2
예제 출력 1
6
4
요약하면 a와 b가 가지고 있는 사과의 합과, a가 b보다 더 많이 가지고 있는 사과의 양, 즉 가지고 있는 사과의 차가 주어진다는 것이다.
각각 가지고 있는 사과의 양을 a, b라고 할 때, 합은 a+b이고 차는 a-b이다.
a와 b를 구하려면 이를 연립하여 구하면 된다.
a는 (a+b) + (a-b)를 2로 나누어 구하고, b는 (a+b) - (a-b)를 2로 나누어 구할 수 있다.
이때 주의할 것이 있는데, 소녀들은 총 10^100개 미만의 사과를 가지고 있고(매우 큰 수), 나누기 연산을 사용해야 하기 때문에 정확도를 위해 /가 아닌 //를 사용해야 한다는 것이다.
참고 - b가 더 많이 가지고 있어서 음수가 들어와도 바르게 동작할 것이다.
코드
#8437_Julka
a = int(input())
b = int(input())
print((a+b)//2)
print((a-b)//2)
'PS > BOJ' 카테고리의 다른 글
[백준 BOJ][Python] 15727 조별과제를 하려는데 조장이 사라졌다 (0) | 2021.03.07 |
---|---|
[백준 BOJ] 14652 나는 행복합니다~ (0) | 2021.03.07 |
[백준 BOJ] 8370 Plane (0) | 2021.03.05 |
[백준 BOJ] 6749 Next in line (0) | 2021.03.05 |
[백준 BOJ] 2475 검증수 (0) | 2021.02.23 |