1. λ¬Έμ μ€λͺ π
(1) λ§ν¬π
https://www.acmicpc.net/problem/13317
(2) ν΄μ€π΅
μ§κ΅¬μ΄μ μ½λλ 벨λ§ν¬λλ₯Ό μλͺ» ꡬνν μ½λλ‘μ, μ μ μ΄ N
κ°μΌ λ, N-2λ²λ§ μνκ³Όμ μ κ±°μΉκ³ , N-1λ²μμλ μμ μ¬μ΄ν΄ νμΈμ νλ€κ³ νλ€. μλλΌλ©΄ N-1λ²κΉμ§ μν κ³Όμ μ κ±°μΉκ³ , Nλ²μ§Έμ μμ μ¬μ΄ν΄μ νμΈνλ€.
ν΄λΉ λ¬Έμ μ μꡬμ¬νμ μ§κ΅¬μ΄μ μ½λκ° "νλ Έμ΅λλ€."κ° λμ¬ λ°λ‘ μ
λ ₯μ λ§λλ κ²μ΄λ€.
μ§κ΅¬μ΄μ CPP μ½λμ λν λΆμβ¨
ν΄λΉ μ½λμλ μ§κ΅¬μ΄κ° λ§λ νλ¦° μ½λμ μ λλ‘ λμκ°λ 벨λ§ν¬λ μ½λ 2κ°μ§λ‘ λλκ³ μλ€. μ¬κΈ°μ μ£Όμν΄μΌν μ μ λ€μκ³Ό κ°λ€.
- 1οΈβ£ μμμ μμ μ μ κΉμ§μ μ΅λ¨κ±°λ¦¬λ₯Ό λνλ΄λ
dis[]
λ°°μ΄μ΄ 0μΌλ‘ μ΄κΈ°ν λκ³ μλ€. - 2οΈβ£ μ λ ₯μ λ°μ μμλλ‘ μνκ³Όμ μ κ±°μΉλ€.
2. μκ°μ νλ¦: μ½λκ° λμ€κΈ°κΉμ§ ποΈ
(1) IDEA λμΆπ‘
KEY WORD
: BELLMAN_FORD ALGORITHM λ°λ‘ μκΈ°
μ§κ΅¬μ΄μ μ½λκ° "νλ Έμ΅λλ€."κ° λμ€λ €λ©΄, (1) N-1
λ²κΉμ§ μ€μ§μ μΈ μνκ³Όμ μ΄ μ§νλμΌνκ³ , (2) μμ μ¬μ΄ν΄μ΄ μμ΄μΌ νλ€.
λ§μ½ N-2λ²μ λ°λ³΅ λ΄μμ μνκ³Όμ μ΄ λλλ²λ¦°λ€λ©΄, μ§κ΅¬μ΄μ μ½λκ° μ§ννλ N-1λ²μμ μμ μ¬μ΄ν΄ μ¬λΆλ₯Ό νμΈνλ κ² ν¨κ³Όκ° μλ€. μνκ³Όμ μ λ€ λ§μΉκ³ λ μ΅λ¨κ±°λ¦¬ λ°°μ΄μ΄ μ€μ΄λλ κ²μ΄κΈ° λλ¬Έμ΄λ€. μ΄λ¬λ©΄ μ¬λ°λ₯Έ 벨λ§ν¬λ μ½λμλ λ°νκ°μ΄ κ°μμ§λ€.
λν μμ μ¬μ΄ν΄μ΄ μ‘΄μ¬νλ€λ©΄, μ§κ΅¬μ΄ μ½λμ²λΌ N-1μμ μμμ¬μ΄ν΄ μ¬λΆλ₯Ό νμΈνλ , μ¬λ°λ₯Έ μ½λμ²λΌ Nλ²μμ νμΈνλ λ λ€ μ΅λ¨ 거리 λ°°μ΄μ κ°μ λ°λλ€. λ°λΌμ, μ§κ΅¬μ΄μ μ½λκ° μ¬λ°λ₯Έμ§ μλμ§λ₯Ό νμΈν μ μλ€.
μ¬κΈ°κΉμ§λ§ μκ°νκ³ μ½λλ₯Ό μ§λ©΄ 50%μμ ν릴 μ μλ€. μλνλ©΄ μ§κ΅¬μ΄κ° μ§ CPP μ½λμ 볡λ³μ΄ μ¨μ΄μκΈ° λλ¬Έμ΄λ€.
λ¨Όμ ν΄μ€μμ μ€λͺ
νλλ‘, μ΅λ¨ 거리 λ°°μ΄μΈ dis[]κ° λͺ¨λ 0μΌλ‘ μ΄κΈ°ν λμ΄ μλ€. λ°λΌμ κ°μ€μΉλ‘ 1μ λ£λλ€λ©΄, μ무리 μν κ³Όμ μ κ±°μ³λ κ°±μ λμ§ μλλ€.
λν, μ
λ ₯ λ°μ μμλλ‘ μνλ₯Ό μ§ννλ€. λ°λΌμ μΆλ°μ μΈ 1λΆν° μ€λ¦μ°¨μμΌλ‘ μ
λ ₯μ μ£Όλ©΄ ν λ²μ μν κ³Όμ μ μ΅λ¨ 거리 λ°°μ΄μ΄ μμ±λλ€. μ΄ λλ¬Έμ, ν λ²μ νλμ© N-1κΉμ§ μ΅λ¨κ±°λ¦¬ κ°±μ μ΄ μ μ§μ μΌλ‘ μ΄λ€μ§κ² νκ³ μΆλ€λ©΄ λ΄λ¦Ό μ°¨μμΌλ‘ μ
λ ₯μ μ€μΌ νλ€.
(2) SUDO CODE π
0οΈβ£ μ μ μ κ°μκ° 50μ΄κ³ κ°μ μ κ°μ€μΉκ° 49κ°, λͺ¨λ κ°μ€μΉκ° -1μΈ μΌμν νΈλ¦¬ νν
μ κ·Έλν μ
λ ₯μ μΆλ ₯νλ€.
(3) μκ°λ³΅μ‘λ λΆμ π
μκ° λ³΅μ‘λκ° νμ μλ λ¬Έμ μ΄λ€.
3. ꡬν μ½λ π
public class Main {
public static void main(String[] args) {
System.out.println(50 + " " + 49);
for (int i = 49; i > 0; i--) {
System.out.println(i +" "+ (i+1)+" "+ -1);
}
}
}
4. λ°°μ΄ κ²λ€ π―
λ²¨λ§ ν¬λμ λν΄ λ κΉκ² μκ°νλ κ³κΈ°κ° λ κ² κ°λ€. λλ '무쑰건 νλ²μ μνκ³Όμ μ νλμ μ μ μΌλ‘ κ°λ μ΅λ¨ 거리λ κ°±μ λλ€!' λΌκ³ μκ°νλλ°, μ΄λ νλ¦° μκ°μ΄μλ€. μ λ ₯μΌλ‘ λ€μ΄κ°λ κ°μ 리μ€νΈμ μμμ λ°λΌ μνκ° N-1 λ΄μ μΈμ λ§λ¬΄λ¦¬ λ μ§λ λ¬λΌμ§λ€. νμ€ν κ²μ N-1λ΄μλ μμ±μ΄ λλ€λ κ²μ΄λ€.