반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
11-07 11:40
관리 메뉴

ImJay

[파이썬/Python] 백준 17256번 달달함이 넘쳐흘러 본문

Solved.ac - Python/Bronze V

[파이썬/Python] 백준 17256번 달달함이 넘쳐흘러

ImJay 2022. 11. 22. 15:37
반응형

[파이썬/Python] 백준 17256번 달달함이 넘쳐흘러

https://www.acmicpc.net/problem/17256

 

17256번: 달달함이 넘쳐흘러

첫째 줄에 케이크 수 a를 구성하는 자연수 a.x, a.y, a.z 가 차례대로 주어진다. (1 ≤ a.x, a.y, a.z ≤ 100) 둘째 줄에 케이크 수 c를 구성하는 자연수 c.x, c.y, c.z 가 차례대로 주어진다. (1 ≤ c.x, c.y, c.z

www.acmicpc.net


문제

냉장고에서 맛있게 숙성되고 있는 마카롱은 심심한 나머지 새로운 수 체계를 생각해냈다. 마카롱은 이를 케이크 수라고 이름 붙이고, 다음과 같이 정의했다.

  • 케이크 수는 3개의 자연수 x, y, z로 이루어진 순서쌍이다. (자연수는 1 이상의 정수를 의미한다)
  • 케이크 수 a는 (a.x, a.y, a.z)와 같이 나타낼 수 있다.

또한 마카롱은 케이크 수들을 비교하기 위해 등호 "="도 새로 정의했다.

  • 케이크 수 a, b에 대하여, a = b라는 것은 다음과 같다.
  • a.x = b.x, a.y = b.y 그리고 a.z = b.z를 동시에 만족한다.

아직 끝나지 않았다. 이 케이크 수는 기존의 수와 다르게 매우 특이한 연산을 적용할 수 있다. 연산의 이름은 🍰이고 다음과 같이 정의된다!

a 🍰 b = (a.z + b.x, a.y × b.y, a.x + b.z)

SCCC의 회장 욱제는 케이크 수를 이용해 문제를 만들기로 했다. 마카롱과 욱제를 기쁘게 하기 위해서 문제를 풀어주자! 욱제가 만든 문제는 다음과 같다.

케이크 수 a, c 가 주어졌을 때, 다음을 만족하는 케이크 수 b를 계산하자.

a 🍰 b = c

a, c는 b가 항상 유일하게 존재하도록 주어진다.

 

해설

a 🍰 b = (a.z + b.x, a.y × b.y, a.x + b.z) (1)

a 🍰 b = c (2)

 

(1) 규칙을 토대로 (2) 식을 풀어쓰면,

a.z + b.x = c.x
a.y * b.y = c.y
a.x + b.z = c.z

 

위 식을 b에 대하여 연립하여 풀면 다음과 같다.

b.x = c.x - a.z
b.y = c.y / a.y
b.x = c.z - a.x

코드

ax, ay, az = map(int, input().split())
cx, cy, cz = map(int, input().split())

print(cx - az, int(cy / ay), cz - ax)

풀이

1. ax, ay, az, cx, cy, cz 를 줄을 분리하여 입력 받는다.

ax, ay, az = map(int, input().split())
cx, cy, cz = map(int, input().split())

 

2. 연립한 식을 토대로 bx, by, bz를 구한다.

  • Python 은 정수끼리 나눠도 자동으로 형변환이 되기 때문에 강제 형변환이 필요함에 주의한다.
print(cx - az, int(cy / ay), cz - ax)

 

 

반응형
Comments