-
[BaekJoon] 1149λ² : RGB 거리SW Test/BaekJoon 2021. 4. 19. 01:09λ°μν
- μ΄ κΈμ c++λ‘ νμ΄λ₯Ό μμ±νμμ΅λλ€.
λ¬Έμ
μμ
νμ΄
- DPλ₯Ό μ΄μ©νμ¬ ν μ μλ λ¬Έμ λ‘ κ·μΉμ μ μκ°νλ©΄ λ©λλ€.
- 2μ°¨μ λ°°μ΄μ λ§λ€κ³ νμ μ§μ μλ₯Ό κ°λ¦¬ν€κ³ , μ΄μ 3κ°μ§μ μμ ν¬κΈ°λ‘ μ μΈν©λλ€.
- iν jμ΄μ jμμμ μΉ νλ€κ³ κ°μ νμ λ, i λ²μ§Έ μ§κΉμ§ μ§μ μΉ νλ μ΅λ λΉμ©μ κ³μ°ν©λλ€.
- 첫 λ²μ§Έ νμμλ μ΄μ μ μμ μΉ ν μ§μ΄ μκΈ° λλ¬Έμ μμ μ μμμ μΉ νλ κ°μΌλ‘ μ΄κΈ°νν©λλ€.
- λ λ²μ§Έ νλΆν°λ μ΄μ νκ³Ό κ²ΉμΉμ§ μλ μ΄ μ€μμ μ΅λκ°μ μ€μ νλ©΄ λ©λλ€.
- ex) 2ν 1μ΄μμλ 1ν 2μ΄κ³Ό 1ν 3μ΄ λ μ€ μ΅λκ°μ 2ν 1μ΄μ λΉ¨κ°μ§μ μΉ νλ κ°μ λνλ©΄ λ©λλ€.
#include<iostream> using namespace std; int main(){ int num; cin>>num; int arr[1005][3]; for(int i=0;i<num;i++){ for(int j=0;j<3;j++){ cin>>arr[i][j]; } } int sum[1005][3]; sum[0][0] = arr[0][0]; sum[0][1] = arr[0][1]; sum[0][2] = arr[0][2]; for(int i = 1;i<num;i++){ sum[i][0] = min(sum[i-1][1], sum[i-1][2])+arr[i][0]; sum[i][1] = min(sum[i-1][0], sum[i-1][2])+arr[i][1]; sum[i][2] = min(sum[i-1][0], sum[i-1][1])+arr[i][2]; } cout<<min(sum[num-1][0], min(sum[num-1][1], sum[num-1][2])); }
- μΆκ°λ‘ κΆκΈνμ μ΄λ μμ ν λΆλΆ μμΌλ©΄ λκΈλ‘ λ¨κ²¨μ£ΌμΈμ.
λ°μν'SW Test > BaekJoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BaekJoon] 12852λ² : 1λ‘ λ§λ€κΈ° 2 (0) 2021.04.19 [BaekJoon] 11659λ² : κ΅¬κ° ν© κ΅¬νκΈ° 4 (0) 2021.04.19 [BaekJoon] 2579λ² : κ³λ¨ μ€λ₯΄κΈ° (0) 2021.04.18 [BaekJoon] 9095λ² : 1, 2, 3 λνκΈ° (0) 2021.04.18 [BaekJoon] 1463λ² : 1λ‘ λ§λ€κΈ° (0) 2021.04.18