[Gold IV] 1107 - 리λͺ¨μ»¨
λ¬Έμ
μλΉμ΄λ TVλ₯Ό λ³΄κ³ μλ€. μλΉμ΄λ μ±λμ λλ¦¬λ €κ³ νμ§λ§, λ²νΌμ λ무 μΈκ² λλ₯΄λ λ°λμ, μΌλΆ μ«μ λ²νΌμ΄ κ³ μ₯λ¬λ€.
리λͺ¨μ»¨μλ λ²νΌμ΄ 0λΆν° 9κΉμ§ μ«μ, +μ -κ° μλ€. +λ₯Ό λλ₯΄λ©΄ νμ¬ λ³΄κ³ μλ μ±λμμ +1λ μ±λλ‘ μ΄λνκ³ , -λ₯Ό λλ₯΄λ©΄ -1λ μ±λλ‘ μ΄λνλ€. μ±λ 0μμ -λ₯Ό λλ₯Έ κ²½μ°μλ μ±λμ΄ λ³νμ§ μκ³ , μ±λμ 무νλ λ§νΌ μλ€.
μλΉμ΄κ° μ§κΈ μ΄λνλ €κ³ νλ μ±λμ Nμ΄λ€. μ΄λ€ λ²νΌμ΄ κ³ μ₯λ¬λμ§ μ£Όμ΄μ‘μ λ, μ±λ NμΌλ‘ μ΄λνκΈ° μν΄μ λ²νΌμ μ΅μ λͺ λ² λλ¬μΌνλμ§ κ΅¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μλΉμ΄κ° μ§κΈ λ³΄κ³ μλ μ±λμ 100λ²μ΄λ€.
μ λ ₯
첫째 μ€μ μλΉμ΄κ° μ΄λνλ €κ³ νλ μ±λ N (0 ≤ N ≤ 500,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€μλ κ³ μ₯λ λ²νΌμ κ°μ M (0 ≤ M ≤ 10)μ΄ μ£Όμ΄μ§λ€. κ³ μ₯λ λ²νΌμ΄ μλ κ²½μ°μλ μ μ§Έ μ€μλ κ³ μ₯λ λ²νΌμ΄ μ£Όμ΄μ§λ©°, κ°μ λ²νΌμ΄ μ¬λ¬ λ² μ£Όμ΄μ§λ κ²½μ°λ μλ€.
μΆλ ₯
첫째 μ€μ μ±λ NμΌλ‘ μ΄λνκΈ° μν΄ λ²νΌμ μ΅μ λͺ λ² λλ¬μΌ νλμ§λ₯Ό μΆλ ₯νλ€.
μμ μ λ ₯ 1 볡μ¬
5457
3
6 7 8
μμ μΆλ ₯ 1 볡μ¬
6
μμ μ λ ₯ 2 볡μ¬
100
5
0 1 2 3 4
μμ μΆλ ₯ 2 볡μ¬
0
μμ μ λ ₯ 3 볡μ¬
500000
8
0 2 3 4 6 7 8 9
μμ μΆλ ₯ 3 볡μ¬
11117
μμ μ λ ₯ 4 볡μ¬
100
3
1 0 5
μμ μΆλ ₯ 4 볡μ¬
0
μμ μ λ ₯ 5 볡μ¬
14124
0
μμ μΆλ ₯ 5 볡μ¬
5
μμ μ λ ₯ 6 볡μ¬
1
9
1 2 3 4 5 6 7 8 9
μμ μΆλ ₯ 6 볡μ¬
2
μμ μ λ ₯ 7 볡μ¬
80000
2
8 9
μμ μΆλ ₯ 7 볡μ¬
2228
# νμ΄ λ°©λ²
μΌλ¨ μ¬μ©κ°λ₯ν λ²νΌ μ€μμ μ«μ Nμ κ°μ₯ κ°κΉμ΄ μ«μλ₯Ό ꡬνλ κ²μ΄ μ€μνλ€.
κ·Όλ° μ΄ μ«μλ Nλ³΄λ€ μμ μλ ν΄ μλ μλ€.
μ΄ μ«μλ₯Ό μ΄λ»κ² ꡬν μ§ λ¨Έλ¦¬κ° μν λ€..
gptμκ² λ¬Όμ΄λ³΄λ λͺ¨λ κ²½μ°μ μλ₯Ό λ€ κ³ λ €νλΌκ³ νκ³ .. μ΄λ¬λ©΄ λ무 μ€λ걸릴 κ² κ°μλ°λΌκ³ μκ°νμ§λ§ κ²°κ΅ ν΅κ³Όλλ€.
# μ½λ
# 2025-04-25 15:36-16:20
import sys
sys.stdin = open("input.txt","r")
N = int(sys.stdin.readline().strip())
M = int(sys.stdin.readline().strip())
if M > 0:
broken = list(map(int,sys.stdin.readline().split()))
else:
broken = []
avail = list(set(range(10)) - set(broken))
# κ°μ₯ κ°κΉμ΄ μ μ°ΎκΈ°
min_clicks = abs(N-100) # +,-λ§ κ΅¬ν΄μ κ°λ κ²½μ°
for num in range(1_000_000):
str_num = str(num)
if all(int(d) in avail for d in str_num):
press = len(str_num)
move = abs(num-N)
min_clicks = min(min_clicks, press + move)
print(min_clicks)