μ 체 κΈ (9) μΈλ€μΌν 리μ€νΈν [BOJ] λ°±μ€ 2904 μνμ λ무 μ¬μ (C++) λ¬Έμ λ§ν¬ www.acmicpc.net/problem/2904 2904λ²: μνμ λ무 μ¬μ 첫째 μ€μ Nμ΄ μ£Όμ΄μ§λ€. (1 ≤ N ≤ 100) λμ§Έ μ€μλ μ’ μ΄μ μ νμλ μ Nκ°κ° μ£Όμ΄μ§λ€. μλ λͺ¨λ 1,000,000λ³΄λ€ μκ±°λ κ°μ μμ μ μμ΄λ€. www.acmicpc.net μΉ΄ν κ³ λ¦¬ μμΈμ λΆν΄(μν) λ¬Έμ νμ΄ 1. λ¨Όμ , μμλ₯Ό λͺ¨λ κ΅¬ν΄ λ°°μ΄μ μ μ₯νλ€. (μλΌν μ€ν λ€μ€μ 체) 2. cal(num)μ ν΅ν΄ λͺ¨λ μ λ ₯ λ°μ num (μ΄ Nκ°)μ λν μμΈμ λΆν΄λ₯Ό μ§ννλ€. π μ΄ κ²°κ³Όλ map dict[]μ κ°κ° μ μ₯νλ€. (μΈμ, μ§μ) π λ¨, μ΄λ μμΈμ λΆν΄ν λͺ¨λ κ°λ€μ λμ ν΄μ map mpμ μ μ₯νλ€. (μΈμ, μ§μ) 3. μ΄μ , mpμ μ μ₯λ μΈμλ€μ μ§μ κ°λ€μ NμΌλ‘ λλμ΄.. [BOJ] λ°±μ€ 1915 κ°μ₯ ν° μ μ¬κ°ν (C++) λ¬Έμ λ§ν¬ www.acmicpc.net/problem/1915 1915λ²: κ°μ₯ ν° μ μ¬κ°ν 첫째 μ€μ n, m(1 ≤ n, m ≤ 1,000)μ΄ μ£Όμ΄μ§λ€. λ€μ nκ°μ μ€μλ mκ°μ μ«μλ‘ λ°°μ΄μ΄ μ£Όμ΄μ§λ€. www.acmicpc.net μΉ΄ν κ³ λ¦¬ DP λ¬Έμ νμ΄ * DP[X][Y] = N : (X,Y)κ° μ΄λ€ μ μ¬κ°νμ μ°μΈ‘ μλ κΌμ§μ μΌ λ, λ μ μλ μ μ¬κ°νλ€ μ€ μ΅λ λ³μ κΈΈμ΄λ Nμ΄λ€. 1. λ§μ½ νμ΄λ μ΄μ idxκ° 0μΈ κ²½μ° (X == 0 || Y == 0) π DP[X][Y] = board[X][Y] 2. μΈμ ν μ,μ’μ,μΌμͺ½μ dpκ° μ€ 0μ΄ μλ κ²½μ° π DP[X][Y] = board[X][Y] 3. μΈμ ν μ,μ’μ,μΌμͺ½μ dpκ°μ΄ λͺ¨λ 0μ΄ μλ κ²½μ° π DP[X][Y] = min(.. [BOJ] λ°±μ€ 2616 μνκΈ°κ΄μ°¨ (C++) λ¬Έμ λ§ν¬ www.acmicpc.net/problem/2616 2616λ²: μνκΈ°κ΄μ°¨ 첫째 μ€μ κΈ°κ΄μ°¨κ° λκ³ κ°λ κ°μ°¨μ μκ° μ λ ₯λλ€. κ·Έ μλ 50,000 μ΄νμ΄λ€. λμ§Έ μ€μλ κΈ°κ΄μ°¨κ° λκ³ κ°λ κ°μ°¨μ νκ³ μλ μλμ μκ° 1λ² κ°μ°¨λΆν° μ°¨λ‘λ‘ μ λ ₯λλ€. ν κ°μ°¨μ νκ³ μ www.acmicpc.net μΉ΄ν κ³ λ¦¬ DP λ¬Έμ νμ΄ 1. DP[X][N] = Xκ°μ κΈ°κ΄μ°¨λ₯Ό μ΄μ©ν΄ 1~Nλ²μ§Έμ κ°μ°¨κΉμ§ λμμ λμ μ΅λκ° ex) DP[2][6] : 2κ°μ κΈ°κ΄μ°¨λ₯Ό μ΄μ©ν΄ 1~6λ²κΉμ§μ κ°μ°¨λ₯Ό λμμ λ μ΅λκ° 2. sum[N] = κΈ°κ΄μ°¨ 1κ°κ° Nλ²λΆν° κ°μ°¨λ₯Ό μ°κ²°ν΄ μ΄μ‘ν λ μ΄μ‘ν μ μλ μ΅λ μλμ μ 3. μ νμ 3.1 DP[1][N] = max(DP[1][N-1], sum[N]) 3.2 D.. [BOJ] λ°±μ€ 1461 λμκ΄ (C++) λ¬Έμ λ§ν¬ www.acmicpc.net/problem/1461 1461λ²: λμκ΄ μ²«μ§Έ μ€μ μ± μ κ°μ Nκ³Ό, μΈμ€μ΄κ° ν λ²μ λ€ μ μλ μ± μ κ°μ Mμ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€μλ μ± μ μμΉκ° μ£Όμ΄μ§λ€. Nμ 10,000λ³΄λ€ μκ±°λ κ°μ μμ°μμ΄κ³ , Mμ 10,000λ³΄λ€ μκ±°λ κ°λ€. μ± μ μμΉ www.acmicpc.net μΉ΄ν κ³ λ¦¬ 그리λ λ¬Έμ νμ΄ 1. μμ, μμ μμΉμ λμλ€μ λΆλ₯ν΄μ 벑ν°μ μ μ₯νλ€. 2. κ°κ°μ μμ, μμ λμλ€μ κ±°λ¦¬κ° λ¨Ό μμλ‘ μ λ ¬νλ€. π +, - μμΉμ λμλ€μ μμ΄μ κ°μ Έλ€ λμΌλ©΄, 0μ μ¬λ¬λ² μ§λκ² λλ―λ‘ μ΅μκ°μ΄ λμ¬ μ μλ€. 3. μ΅λλ‘ λ€ μ μλ μ± μ κ°μ λ§νΌ κ°κ° λ¬Άμμ μ§λλ€. 3.1 κ° λ²‘ν°μ μμμλΆν° λ¬Άκ³ , κ° λ¬Άμμ 첫λ²μ§Έ μμλ₯Ό κΈ°μ€μΌλ‘ .. [BOJ] λ°±μ€ 2638 μΉμ¦ (C++) λ¬Έμ λ§ν¬ www.acmicpc.net/problem/2638 2638λ²: μΉμ¦ 첫째 μ€μλ λͺ¨λμ’ μ΄μ ν¬κΈ°λ₯Ό λνλ΄λ λ κ°μ μ μ N, M (5≤N, M≤100)μ΄ μ£Όμ΄μ§λ€. κ·Έ λ€μ Nκ°μ μ€μλ λͺ¨λμ’ μ΄ μμ 격μμ μΉμ¦κ° μλ λΆλΆμ 1λ‘ νμλκ³ , μΉμ¦κ° μλ λΆλΆμ 0μΌλ‘ ν www.acmicpc.net μΉ΄ν κ³ λ¦¬ BFS, μμ΄λμ΄ λ¬Έμ νμ΄ 1. μΈλΆκ³΅κΈ°λ₯Ό κΈ°μ€μΌλ‘ BFS νμμ νλ€κ³ μκ°νλ€. 2. νμ¬ λ¨μ μΉμ¦μ μλ₯Ό remainμΌλ‘ μ€μ ν΄ μ΄ κ°μλ₯Ό ν΅ν΄ μΉμ¦κ° λ€ λ Ήμλμ§ νλ¨νλ€. 3. λ€μκ³Ό κ°μ΄ BFS νμμ νλ€. 3-0. (0, 0)κ³Ό μ°κ²°λ μμμ μ°Ύλλ€λ λλμΌλ‘ BFS νμμ νλ€. 3-1. λ€μ νμν μμΉ(nx,ny)κ° μΉμ¦μ΄λ©΄ ν΄λΉ μμΉμ isMelt[nx][n.. [BOJ] λ°±μ€ 14923 λ―Έλ‘ νμΆ (C++) λ¬Έμ λ§ν¬ www.acmicpc.net/problem/14923 14923λ²: λ―Έλ‘ νμΆ νμ΅μ΄λ μ¬μ ν λ§λ²μ¬μ κΎμ μμ N x M λ―Έλ‘ (Hx, Hy) μμΉμ λ¨μ΄μ‘λ€. λ€ννλ νμ΅μ΄λ λ§λ²μ¬κ° λ§λ λ―Έλ‘μ νμΆ μμΉ(Ex, Ey)λ₯Ό μκ³ μλ€. νμ§λ§ λ―Έλ‘μλ κ³³κ³³μ λ§λ²μ¬κ° μ€μΉν λ²½μ΄ www.acmicpc.net μΉ΄ν κ³ λ¦¬ BFS, μμ΄λμ΄ λ¬Έμ νμ΄ 1. BFS νμμ ν΅ν΄ μΆκ΅¬λ₯Ό μ°Ύλλ€. 2. mazeVisit[x][y][A] : (x, y) μμΉμ Aλ² λ§λ²μ μΈ μ μλ μνλ‘ μμλμ§ νμΈ (0: μ¨ μ μμ, 1: μ¨ μ μμ) ex) mazeVisit[2][3][1] = 1 : (2,3) μμΉμ 1λ² λ§λ²μ μΈ μ μλ μνμΌ λ λμ°©νμ μ΄ μμ => λ°©λ¬Ένλ€λ©΄, λ°©λ¬Έν μν©μ λ§.. [BOJ] λ°±μ€ 1600 λ§μ΄ λκ³ ν μμμ΄ (C++) λ¬Έμ λ§ν¬ www.acmicpc.net/problem/1600 1600λ²: λ§μ΄ λκ³ ν μμμ΄ μ²«μ§Έ μ€μ μ μ Kκ° μ£Όμ΄μ§λ€. λμ§Έ μ€μ 격μνμ κ°λ‘κΈΈμ΄ W, μΈλ‘κΈΈμ΄ Hκ° μ£Όμ΄μ§λ€. κ·Έ λ€μ Hμ€μ κ±Έμ³ Wκ°μ μ«μκ° μ£Όμ΄μ§λλ°, 0μ μ무κ²λ μλ νμ§, 1μ μ₯μ λ¬Όμ λ»νλ€. μ₯μ λ¬Όμ΄ μ www.acmicpc.net μΉ΄ν κ³ λ¦¬ BFS, μμ΄λμ΄ λ¬Έμ νμ΄ 1. BFS νμμ ν΅ν΄ μμμ΄κ° λμ°©μ μ λλ¬νλμ§ νλ¨νλ€. 2. μ΄λ₯Ό μν΄ λ°©λ¬Έ λ°°μ΄μ μ€μ νλ€. 2.1 boardVisit[x][y][move] : (x,y) μ§μ μ moveλ§νΌ μ΄λνμκ° λ¨μ μ±λ‘ μ¨ μ μ΄ μλ€. 3. 12κ°μ§ κ²½μ°μ μλ₯Ό μ΄μ©ν΄ μμμ΄μ λ€μ μμΉλ₯Ό κ³μ°ν΄ νμ λ£λλ€. 3.1 (0~3 : μνμ’μ°, 4~11 λ§μ²λΌ μ΄.. [BOJ] λ°±μ€ 17281 βΎ (C++) λ¬Έμ λ§ν¬ www.acmicpc.net/problem/17281 17281λ²: βΎ βΎλ 9λͺ μΌλ‘ μ΄λ£¨μ΄μ§ λ νμ΄ κ³΅κ²©κ³Ό μλΉλ₯Ό λ²κ°μ νλ κ²μμ΄λ€. νλμ μ΄λμ 곡격과 μλΉλ‘ μ΄λ£¨μ΄μ Έ μκ³ , μ΄ Nμ΄λ λμ κ²μμ μ§νν΄μΌ νλ€. ν μ΄λμ 3μμμ΄ λ°μνλ©΄ μ΄λμ΄ μ’ www.acmicpc.net μΉ΄ν κ³ λ¦¬ λ°±νΈλνΉ, λΈλ£¨νΈ ν¬μ€ λ¬Έμ νμ΄ 1. λ°±νΈλνΉμ μ΄μ©ν΄ μΌκ΅¬μ μλ€μ μμλ₯Ό μ νλ€. (λ°±νΈλνΉ) 2. κ° μμμ λ§κ² κ²μμ μμν΄ λ³Έλ€. (λΈλ£¨νΈ ν¬μ€) 3. κ²μμ 쑰건μ λ§κ² μΌκ΅¬λ₯Ό μμνκ³ , ν΄λΉ μμμ λ°λ₯Έ μ μλ₯Ό λΉκ΅ν΄ κ·Έ μ€ μ΅λκ°μ μΆλ ₯νλ€. * κ²μ 쑰건 λ보기 1. μ΄λλ³λ‘ κ²μμ μμνλ€. (μ΄λ μμ μ λ³μλ€ μ΄κΈ°ν) 2. λ² μ΄μ€μ λκ°μλ νμλ€μ μμΉλ₯Ό remainBa.. μ΄μ 1 2 λ€μ