π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?
[Softeer] python 볡μ‘ν 쑰립λΌμΈ1 λ³Έλ¬Έ
<λ³Έ λΈλ‘κ·Έλ Softeerμ μ½λ©ν μ€νΈ λ¬Έμ λ₯Ό μ°Έκ³ ν΄μ 곡λΆνλ©° μμ±νμμ΅λλ€>
https://softeer.ai/practice/info.do?idx=1&eid=404
Softeer
μ°μ΅λ¬Έμ λ₯Ό λ΄μ Setμ μ νν΄μ£ΌμΈμ. μ·¨μ νμΈ
softeer.ai
β λ¬Έμ
μΈμ΄λ³ μκ°/λ©λͺ¨λ¦¬
Python 2μ΄ 256MB
λ¬Έμ
λμΌν μλμ°¨λ₯Ό μμ°νλ Kκ°μ 쑰립λΌμΈ Li (1 ≤ i ≤ K)κ° μλ€. ν 쑰립λΌμΈμλ κ°κ° Nκ°μ μμ μ₯μ΄ μλ€. κ°κ°μ μμ μ₯μ Li, j (1 ≤ i ≤ K, 1 ≤ j ≤ N)λ‘ νμνμ. λͺ¨λ λΌμΈμ jλ²μ§Έ μμ μ₯μ λμΌν μμ μ μννμ§λ§ μμ μκ°μ λ€λ₯Ό μ μλ€. λͺ¨λ 쑰립λΌμΈμ 1λ² μμ μ₯μμ μ΅μ΄ μ‘°λ¦½μ΄ μμλλ©°, jλ²μ§Έ μμ μ₯μμ μμ μ΄ μ’ λ£λλ©΄ λ°λ‘ j+1λ²μ§Έ μμ μ₯μμ μμ μ μμν μ μλ€.Li, j μμ μ₯μμ LK, j+1 (i ≠ K) μμ μ₯μΌλ‘ μ΄λμ΄ κ°λ₯(μ΄λμκ°μ΄ μΆκ°λ¨)ν λ, μλμ°¨ 1λμ κ°μ₯ λΉ λ₯Έ 쑰립 μκ°μ ꡬνμ¬λΌ.
μ μ½μ‘°κ±΄
1 ≤ N ≤ 10^2 μΈ μ μ
1 ≤ K ≤ 10^2 μΈ μ μ
κ° μμ μκ°κ³Ό μ΄λμκ°μ 10^5μ λμ§ μλ μμ μ μ
μ λ ₯νμ
첫 λ²μ§Έ μ€μ λΌμΈμ μ Kμ μμ μ₯μ μ Nμ΄ μ£Όμ΄μ§λ€. j+1 (1 ≤ j ≤ N-1) λ²μ§Έ μ€μλ Li, j (1 ≤ i ≤ K) μμ μ₯μ μμ μκ°μ΄ iμ μ€λ¦μ°¨μμΌλ‘ μ£Όμ΄μ§κ³ , Li, j μμ μ₯μμ LK, j+1 (K ≠ i) μμ μ₯κΉμ§ μ΄λμκ°μ΄ iμ μ€λ¦μ°¨μ(iκ° λμΌν λλ Kμ μ€λ¦μ°¨μ)μΌλ‘ μ£Όμ΄μ§λ€.
μΆλ ₯νμ
첫 λ²μ§Έ μ€μ κ°μ₯ λΉ λ₯Έ 쑰립μκ°μ μΆλ ₯νλΌ.
μ λ ₯μμ 1
2 2
1 3 1 2
10 2
μΆλ ₯μμ 1
4
β Code
# L(i, j) μμ
μ₯μμ L(K, j+1) (i ≠ K) μμ
μ₯μΌλ‘ μ΄λμ΄ κ°λ₯(μ΄λμκ°μ΄ μΆκ°λ¨)ν λ,
# μλμ°¨ 1λμ κ°μ₯ λΉ λ₯Έ 쑰립 μκ°
import sys
input = sys.stdin.readline
# λΌμΈ μ, μμ
μ₯ μ
K, N = map(int, input().split())
dp = []
total_time =[[[0 for i in range(K)] for j in range(K)] for k in range(N)]
for i in range(N-1) :
# L(i, j) (1 ≤ i ≤ K) μμ
μ₯μ μμ
μκ°
work = list(map(int, input().split()))
# μμ
μκ°
dp.append(work[:K])
cnt = 0
for j in range(K) :
for k in range(K) :
if j == k :
continue
total_time[i][j][k] = work[K+cnt]
cnt += 1
dp.append(list(map(int, input().split())))
for i in range(N-1) :
for j in range(K) :
temp = dp[i][j]
for k in range(K) :
if j == k :
continue
temp = min(temp, dp[i][k] + total_time[i][k][j])
dp[i+1][j] += temp
print(min(dp[-1]))
λ¬Έμ μ΄ν΄λ.. μ λμ§ μλ..
https://thflgg133.tistory.com/214
[Softeer/Python] 볡μ‘ν 쑰립λΌμΈ1 β β β β β - ν¨κ³Όλ κ΅μ₯νλ€!
Softeer μ°μ΅λ¬Έμ λ₯Ό λ΄μ Setμ μ νν΄μ£ΌμΈμ. μ·¨μ νμΈ softeer.ai SOLUTION import sys K, N = map(int, sys.stdin.readline().split()) dp = [] travel_time = [[[0 for i in range(K)] for j in range(K)] for k in range(N)] for i in range(N-1): li
thflgg133.tistory.com
μ°Έκ³ νμ΅λλ€.. μ΄λ ΅λ€
'π¦₯ μ½ν > Softeer' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Softeer] python 쑰립λΌμΈ (0) | 2023.01.07 |
---|---|
[Softeer] python μνΌ λ°μ΄λ¬μ€ (0) | 2023.01.07 |
[Softeer] python μ±μ νκ· (0) | 2023.01.07 |
[Softeer] python μ§λ μλ κ΅¬μΆ (0) | 2023.01.07 |
[Softeer] python 8λ¨ λ³μκΈ° (0) | 2023.01.07 |