-
[Algo RhythmπΊπ] BOJ 10971 - μΈνμ μν 2Algo RhythmπΊπ/BOJ 2021. 7. 10. 01:22
π«λ¬Έμ λΆμ
λμλ€μ μλ₯Ό $n$, κ° λμλ₯Ό $C_i\ (1 \le i \le n)$, κ·Έλ¦¬κ³ $C_a$μμ $C_b$λ‘ μ΄λνλλ° λλ λΉμ©μ $W_{a, b}$λΌκ³ νμ. μ΄λ $W_{a, b} \ne W_{b, a}$μΌ μλ μκ³ $W_{a,b} = 0$ μ΄λ©΄ $C_a$μμ $C_b$λ‘ μ΄λν μ μλ€.
μ°λ¦¬λ μΈνμμ΄ ν λ² κ°λ λμλ₯Ό μ¬λ°©λ¬Ένμ§ μμ λ μ΄λ ν λμμμ μΆλ°ν΄ $n$κ°μ λμλ₯Ό λͺ¨λ κ±°μ³ λ€μ μλμ λμλ‘ λμμ¬ λ λλ μ΅μ λΉμ©μ ꡬν΄μΌ νλ€. μ΄λ μ£Όμν μ μ΄ μΈνμμ΄ μ΄λ λμμμ μΆλ°νλκ°λ μ€μνμ§ μλ€λ κ²μ΄λ€. μλνλ©΄ μλ κ·Έλ¦Όκ³Ό κ°μ΄ μ΅μ λΉμ©μΌλ‘ μ΄λκ°λ₯ν κ²½λ‘λ 'μμμ΄'μ ννλ₯Ό λκΈ° λλ¬Έμ΄λ€.
λ°λΌμ μ΄ λ¬Έμ λ μ΅μ λΉμ©μ κ°μ§ μμμ΄μ μ°Ύλ λ¬Έμ λ‘ μ΄ν΄ν μ μλ€. κΈ°λ³Έμ μΌλ‘ μμ΄μ μ°Ύλ λ¬Έμ μ΄κΈ° λλ¬Έμ backtrackingμ μ¬μ©νμ¬ ν΄κ²°ν μ μλ€.
π₯λ¬Έμ νμ΄
λ¬Έμ λΆμμμ μΈκΈνλ―μ΄ μ΄ λ¬Έμ λ μ΅μ λΉμ©μ κ°μ§ μμμ΄μ μ°Ύλ λ¬Έμ μ΄κΈ° λλ¬Έμ μ΄λ€ λμμμ μΆλ°νλκ°λ μ€μνμ§ μλ€. λ°λΌμ, μμλ‘ μΆλ° λμλ₯Ό $C_1$μΌλ‘ μ νλ€.
κ·Έλ¦¬κ³ λμ λλ¨Έμ§ λμλ€μ λν΄ backtrackingμ μ€ννλλ° λ€μ depthλ‘ κ° μ μλ κΈ°μ€μ λ€μκ³Ό κ°λ€.
- λ°©λ¬Έν μ μ΄ μλ€.
- $W_{src, dest} \ne 0$
μ΄λ λΆνμν κ³μ°μ μ€μ΄κΈ° μν΄ λμ λΉμ©μ΄ μ΄λ―Έ κ³μ°λ μ΅μ λΉμ©λ³΄λ€ ν΄ κ²½μ° backtracking μ€νμ μ€λ¨νλ€.
β¨λ³΅μ‘λ λΆμ
λμλ€μ μλ₯Ό $n$μ΄λΌκ³ ν λ, μκ° λ³΅μ‘λμ κ³΅κ° λ³΅μ‘λλ λ€μκ³Ό κ°λ€.
β°μκ° λ³΅μ‘λ : $O(n!)$
- μ΅μ μ κ²½μ° $x\ (1 \le x \le n)$μ λμλ₯Ό λ°©λ¬Έν λ€ $(n - x)$κ°μ λμλ€μ λν΄ backtrackingμ μ€νν΄μΌ νκΈ° λλ¬Έμ $O(n!)$κ° μμλ¨.
π κ³΅κ° λ³΅μ‘λ : $O(n^2)$
- $W_{i, j}\ (1 \le i, j \le n)$μ μ μ₯νκΈ° μν΄ $O(n^2)$κ° μμλ¨.
- $C_i\ (1 \le i \le n)$μ λ°©λ¬Έμ¬λΆλ₯Ό μ μ₯νκΈ° μν΄ $O(n)$μ΄ μμλ¨.
πμ½λ
πλ¬Έμ μΆμ²
https://www.acmicpc.net/problem/10971
10971λ²: μΈνμ μν 2
첫째 μ€μ λμμ μ Nμ΄ μ£Όμ΄μ§λ€. (2 ≤ N ≤ 10) λ€μ Nκ°μ μ€μλ λΉμ© νλ ¬μ΄ μ£Όμ΄μ§λ€. κ° νλ ¬μ μ±λΆμ 1,000,000 μ΄νμ μμ μ μμ΄λ©°, κ° μ μλ κ²½μ°λ 0μ΄ μ£Όμ΄μ§λ€. W[i][j]λ λμ iμμ j
www.acmicpc.net
'Algo RhythmπΊπ > BOJ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Algo RhythmπΊπ] BOJ 2225 - ν©λΆν΄ (0) 2021.07.22 [Algo RhythmπΊπ] BOJ 1463 - 1λ‘ λ§λ€κΈ° (0) 2021.07.22 [Algo RhythmπΊπ] BOJ 1759 - μνΈ λ§λ€κΈ° (0) 2021.06.30 [Algo RhythmπΊπ] BOJ 18290 - NMκ³Ό K(1) (0) 2021.06.30 [Algo RhythmπΊπ] BOJ 9095 - 1, 2, 3 λνκΈ° (0) 2021.06.29