π‘ 쑰건
- λΆλΆ μ μκ° μλ λ¬Έμ .
- μ λ€μ κ°μλ₯Ό λνλ΄λ μ μ N
- Nκ°μ μ€ κ°κ°μλ μ μ μ’νμ μκΉμ λνλ΄λ λ μ μ xμ yκ° μ£Όμ΄μ§λ€.
- λͺ¨λ μ μμ μμνλ νμ΄νλ€μ κΈΈμ΄ ν©μ μΆλ ₯νλ λ¬Έμ .
- κ° μ μ Nκ°μ μκΉ μ€ νλλ₯Ό κ°μ§λ€.
- κ° μ pμ λν΄μ, pμμ μμνλ μ§μ νμ΄νλ₯Ό μ΄μ©ν΄μ λ€λ₯Έ μ qμ μ°κ²°νλ €κ³ νλ€.
μ¬κΈ°μ, μ qλ pμ κ°μ μκΉμ μ λ€ μ€ pμ κ±°λ¦¬κ° κ°μ₯ κ°κΉμ΄ μ μ΄μ΄μΌ νλ€.
λ§μ½ κ°μ₯ κ°κΉμ΄ μ μ΄ λ κ° μ΄μμ΄λ©΄ μ무거λ νλλ₯Ό μ ννλ€.
- λΈλ£¨νΈν¬μ€μ νμ λ¬Έμ
π₯ μμ€ μ½λ
from sys import stdin
n = int(stdin.readline())
arr = []
for _ in range(n):
x, y = map(int, stdin.readline().split())
arr.append((x, y))
def solve(color, idx):
min_cost = int(1e9)
for t_idx, t_color in arr:
if t_idx != idx and t_color == color:
if abs(idx - t_idx) < min_cost:
min_cost = abs(idx - t_idx)
return min_cost
res = 0
for idx, color in arr:
if color != 0:
res += solve(color, idx)
print(res)
π μμ λ° μ€νκ²°κ³Ό
μμ
5
0 1
1 2
3 1
4 2
5 1
μ€νκ²°κ³Ό
13
β¨οΈ λ¬Έμ νμ΄
- nμ μ
λ ₯ λ°μ λ€, nκ°μ μ μ μμΉν μμ λ²νΈλ₯Ό μ
λ ₯ λ°λλ€.
- μ
λ ₯ λ°μ κ° μ μ μμΉμ μμ λ²νΈλ arr 리μ€νΈμ μ μ₯νλ€.
- arr 리μ€νΈλ₯Ό μννλ€.
μ μ μκΉμ΄ 0μ΄ μλ κ²½μ°, solve(μ, μμΉ) μ λ겨μ€λ€.
- solve ν¨μ λ΄λΆμμ λ€μ arr 리μ€νΈλ₯Ό μννλ©΄μ, μ μ μμΉλ κ°μ§ μμΌλ μκΉμ΄ κ°μ μ μ μ°Ύλλ€.
- κ°μ μκΉμ μ μ΄ μλ€λ©΄ κ°μ₯ μμ μ μ 거리λ₯Ό min_cost μ μ μ₯νκ³ λ°ννλ€.
- λ°νκ°μ res μ λν΄ μΆλ ₯νλ€.
πΎ λλμ
- μμΉ« μλͺ»μκ°νλ©΄ μ΄λ ΅κ² λκ»΄μ§ λ¬Έμ μλ κ² κ°μ΅λλ€.
- μ
λ ₯λ°μ nμ ν¬κΈ°λ₯Ό λ³΄κ³ μκ°μ΄κ³Όκ° λμ§ μμ κ²μ΄λΌκ³ νλ¨νκ³ νμ΄ν΄μ μ½κ² νμμ΅λλ€.