μκ° μ ν | λ©λͺ¨λ¦¬ μ ν | μ λ΅ λΉμ¨ |
0.5 μ΄ | 128 MB | 46.756% |
λ¬Έμ
Nκ°μ νμ λνμ¬ ν΄λΉ ν(μ§)μ λΉ¨κ°μ, μ΄λ‘μ, νλμμΌλ‘ μΉ ν λ λλ λΉμ©μ΄ κ°κ° μ£Όμ΄μ§λ€. λν, κ·Έλ€μ λͺ¨λ μ΄μμ κ°μ μμΌλ‘ μΉ ν μ μλ€λ κ·μΉλ μ νλ€. μ§ iμ μ΄μμ μ§ i-1κ³Ό μ§ i+1μ΄κ³ , 첫 μ§κ³Ό λ§μ§λ§ μ§μ μ΄μμ΄ μλλ€.
λͺ¨λ μ§μ μΉ νλ λΉμ©μ μ΅μκ°μ ꡬν΄μΌ νλ€.
Nμ μ΅λ 1000 μ΄λ€.
λ°©λ²
μ€λλ§μ dpλ₯Ό νΈλ €λ λ¨Έλ¦¬κ° μλμκ°μ 2λ μ μ νμλ λ΄ μ½λλ₯Ό λ΄€λ€... (ν¬μ€ν μ μ΄κ² λμ€μ΄μ§λ§ 1010 λ€λ¦¬λκΈ° λ³΄λ€ μ΄μ μ ν..)
dpλ ν΅μ°°λ ₯μ΄λ€!!
i λ²μ§Έμμ rμ μ νν λλ i-1λ²μ§Έμμ gλλ bλ₯Ό μ νν΄μΌ νλκΉ i-1 λ²μ§ΈκΉμ§μ gλλ b μ€ κ°μ΄ μμ κ²μ μ νν΄μΌνλ€.
λ©λͺ¨λ¦¬ | μκ° |
1988 KB | 0 ms |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int n, r, g, b, x, y, z, ans;
int main() {
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d %d %d", &r, &g, &b);
r = min(y, z) + r;
g = min(x, z) + g;
b = min(x, y) + b;
x = r, y = g, z = b;
}
ans = min(x, min(y, z));
printf("%d", ans);
return 0;
}
|
cs |
μ΄ μ½λλ₯Ό λ³΄κ³ dp 1μ°¨μ λ°°μ΄μ μ΄μ©ν΄μ νμ΄λ³ΌκΉ νλλ°, dp[r], dp[g], dp[b] λ₯Ό κ°κ° λΉκ΅ν΄μΌνλλ° μ΄λ―Έ κ°±μ λ κ°μΌλ‘ λΉκ΅νκ² λμ΄ λ³μλ₯Ό λ μ¨μΌνλ μν©μ΄κ³ κ·Έλ¬λ €λ©΄ 2μ°¨μ λ°°μ΄λ‘ νλκ² λ μ§κ΄μ μ΄λΌκ³ μκ°μ΄ λ€μ΄ λ³μ 3κ°λ§ μ¬μ©ν μ μλ μμ λ°©λ²μ΄ λ² μ€νΈμΈκ² κ°λ€.
1μ°¨μ λ°°μ΄λ‘ νμ΄λ³ΌκΉ νλ μ½λκ° κΆκΈνλ€λ©΄ μ¬κΈ°λ‘
'π₯ PS(Problem Solving) π₯ > BOJ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ] #2240 μλλ무 (0) | 2019.10.02 |
---|---|
[BOJ] #2169 λ‘λ΄ μ‘°μ’ νκΈ° (0) | 2019.10.02 |
[BOJ] #1010 λ€λ¦¬λκΈ° (0) | 2019.10.02 |
[BOJ] #14891 ν±λλ°ν΄ (0) | 2019.10.02 |
[BOJ] #14889 μ€ννΈμ λ§ν¬ (0) | 2019.10.02 |
λκΈ