-
[λ°±μ€] 2477 μ°ΈμΈλ° with PythonPS 2022. 2. 14. 18:20728x90λ°μν
π BOJ 2477 μ°ΈμΈλ°
π‘ 쑰건
m2μ λμ΄μ μλΌλ μ°ΈμΈμ κ°μλ₯Ό λνλ΄λ μμ μ μ K (1 β€ K β€ 20)
μ°ΈμΈλ°μ λνλ΄λ μ‘κ°νμ μμμ ν κΌμ§μ μμ μΆλ°νμ¬
λ°μκ³λ°©ν₯μΌλ‘ λλ λ₯Ό λλ©΄μ μ§λλ λ³μ λ°©ν₯κ³Ό κΈΈμ΄ (1 μ΄μ 500 μ΄νμ μ μ)λ³μ λ°©ν₯μμ λμͺ½μ 1, μμͺ½μ 2, λ¨μͺ½μ 3, λΆμͺ½μ 4λ‘ λνλΈλ€.
μ°ΈμΈλ°μ γ±-μ λͺ¨μμ΄κ±°λ γ±-μλ₯Ό 90λ, 180λ, 270λ νμ ν λͺ¨μ(β, β, β λͺ¨μ)μ μ‘κ°νμ΄λ€.
ꡬν μ νμ λ¬Έμ
π₯ μμ€ μ½λ
from sys import stdin n = int(stdin.readline()) nums = [] x, y = [], [] for _ in range(6): direction, length = map(int, stdin.readline().split()) nums.append(length) if direction == 1 or direction == 2: x.append(length) else: y.append(length) max_x = max(x) max_y = max(y) xi = nums.index(max_x) yi = nums.index(max_y) if xi + 1 >= 6: x = abs(nums[xi - 1] - nums[0]) else: x = abs(nums[xi - 1] - nums[xi + 1]) if yi + 1 >= 6: y = abs(nums[yi - 1] - nums[0]) else: y = abs(nums[yi - 1] - nums[yi + 1]) print(((max_x * max_y) - (x * y)) * n)
π μμ λ° μ€νκ²°κ³Ό
μμ
7 4 50 2 160 3 30 1 60 3 20 1 100
μ€νκ²°κ³Ό
47600
β¨οΈ λ¬Έμ νμ΄
6κ°μ λ°©ν₯κ³Ό λ³μ κΈΈμ΄λ₯Ό κ°κ° direction, length λΌλ λ³μμ μ λ ₯λ°λλ€
λμμ, λ³μ κΈΈμ΄λ nums 리μ€νΈμ μ μ₯ν΄μ£Όκ³ , directionμ΄ 1 μ΄κ±°λ 2 μΌ λ x 리μ€νΈμ, μλ κ²½μ°μλ y 리μ€νΈμ μ μ₯νλ€.x μΆμΌλ‘ μμ§μ΄λ λ³μ κΈΈμ΄ μ€ κ°μ₯ κΈ΄ κ²μ max_x μ μ μ₯νλ€.
y μΆμΌλ‘ μμ§μ΄λ λ³μ κΈΈμ΄ μ€ κ°μ₯ κΈ΄ κ²μ max_y μ μ μ₯νλ€.(2)μμ ꡬν max_x, max_y κ°μ΄ x 리μ€νΈ, y 리μ€νΈμμ μΈλ±μ€ κ°μ΄ λͺμΈμ§ ꡬνλ€.
κ°μ₯ κΈ΄ κ°λ‘λ³(xi) μμΈ‘μ μλ κ°λ‘ λ³μ κΈΈμ΄ μ μ°¨μ΄κ° μ 체 μ¬κ°ν κΈΈμ΄μμ λ΄κ° λΉΌμ€ μ¬κ°νμ κ°λ‘ κΈΈμ΄
λ§μ½ xi + i κ° 6λ³΄λ€ ν¬κ±°λ κ°μΌλ©΄ nums[xi-1] - nums[0]κ°μ₯ κΈ΄ μΈλ‘λ³(xi) μμΈ‘μ μλ μΈλ‘ λ³μ κΈΈμ΄ μ μ°¨μ΄κ° μ 체 μ¬κ°ν κΈΈμ΄μμ λ΄κ° λΉΌμ€ μ¬κ°νμ μΈλ‘ κΈΈμ΄
λ§μ½ yi + i κ° 6λ³΄λ€ ν¬κ±°λ κ°μΌλ©΄ nums[yi-1] - nums[0]μ¬κ°ν μ΅λ λμ΄ - μμ μ¬κ°νμ λμ΄λ₯Ό ꡬνλ€.
- μ¬κ°ν μ΅λ λμ΄ : max_x * max_y
- μμ μ¬κ°ν λμ΄ : x * y
λ©΄μ λΉ μ°ΈμΈμ κ°μλ₯Ό μΆλ ₯ν΄μΌνλ, (6)μμ ꡬν λ©΄μ μ * n μ ν΄μ€ κ°μ μΆλ ₯νλ€.
πΎ λλμ
- λ¬Έμ νμ΄μ μ¨λμ 4, 5λ² μ λ μ¬λ¦¬μ§ λͺ»ν΄μ ν€λ§Έλ λ¬Έμ μλ€.
- λΈλ‘κ·Έλ₯Ό μ°λ €κ³ λ€μ 보λλ° λ ν·κ°λ €μ λ€μ νμλ€.
- μ΄λ° μνμ μΈ μ¬κ³ λ₯Ό νλ λ¬Έμ , DP λ¬Έμ λ μμ§λ μ΄λ ΅λ€.
- μ°μ΅λ§μ΄ μ΄κΈΈμ΄λ€. λ€μ ν λ² μ°λ©΄μ μκ°ν΄λ³΄κ³ νμ΄μ λ€νμ΄λΌκ³ μκ°νλ€.
λ°μν'PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 11048 μ΄λνκΈ° with Python (0) 2022.02.19 [λ°±μ€] 9663 N-Queen with Python (0) 2022.02.14 [λ°±μ€] 2422 νμ€μ μ΄ μ΄ν리μμ κ°μ μμ΄μ€ν¬λ¦Όμ μ¬λ¨Ήλλ° with Python (0) 2022.02.13 [λ°±μ€] 1759 μνΈ λ§λ€κΈ° with Python (0) 2022.02.13 [λ°±μ€] 1236 μ± μ§ν€κΈ° with Python (0) 2022.02.10