https://www.acmicpc.net/problem/1904
λ¬Έμ
μ§μμ΄μκ² 2μ§ μμ΄μ κ°λ₯΄μ³ μ£ΌκΈ° μν΄, μ§μμ΄ μλ²μ§λ κ·Έμκ² νμΌλ€μ μ λ¬Όν΄μ£Όμ ¨λ€. κ·Έλ¦¬κ³ μ΄ κ°κ°μ νμΌλ€μ 0 λλ 1μ΄ μ°μ¬ μλ λ±μ₯μ νμΌλ€μ΄λ€.
μ΄λ λ μ§κΆμ λμ£Όκ° μ§μμ΄μ 곡λΆλ₯Ό λ°©ν΄νκΈ° μν΄ 0μ΄ μ°μ¬μ§ λ±μ₯μ νμΌλ€μ λΆμ¬μ ν μμΌλ‘ μ΄λ£¨μ΄μ§ 00 νμΌλ€μ λ§λ€μλ€. κ²°κ΅ νμ¬ 1 νλλ§μΌλ‘ μ΄λ£¨μ΄μ§ νμΌ λλ 0νμΌμ λ κ° λΆμΈ ν μμ 00νμΌλ€λ§μ΄ λ¨κ² λμλ€.
κ·Έλ¬λ―λ‘ μ§μμ΄λ νμΌλ‘ λ μ΄μ ν¬κΈ°κ° NμΈ λͺ¨λ 2μ§ μμ΄μ λ§λ€ μ μκ² λμλ€. μλ₯Ό λ€μ΄, N=1μΌ λ 1λ§ λ§λ€ μ μκ³ , N=2μΌ λλ 00, 11μ λ§λ€ μ μλ€. (01, 10μ λ§λ€ μ μκ² λμλ€.) λν N=4μΌ λλ 0011, 0000, 1001, 1100, 1111 λ± μ΄ 5κ°μ 2μ§ μμ΄μ λ§λ€ μ μλ€.
μ°λ¦¬μ λͺ©νλ Nμ΄ μ£Όμ΄μ‘μ λ μ§μμ΄κ° λ§λ€ μ μλ λͺ¨λ κ°μ§μλ₯Ό μΈλ κ²μ΄λ€. λ¨ νμΌλ€μ 무νν λ§μ κ²μΌλ‘ κ°μ νμ.
μ λ ₯
첫 λ²μ§Έ μ€μ μμ°μ Nμ΄ μ£Όμ΄μ§λ€. (1 ≤ N ≤ 1,000,000)
μΆλ ₯
첫 λ²μ§Έ μ€μ μ§μμ΄κ° λ§λ€ μ μλ κΈΈμ΄κ° NμΈ λͺ¨λ 2μ§ μμ΄μ κ°μλ₯Ό 15746μΌλ‘ λλ λλ¨Έμ§λ₯Ό μΆλ ₯νλ€.
νμ΄
μ νμ μΈ dp λ¬Έμ
// νμ΄ : https://whkakrkr.tistory.com
#include <iostream>
#include <vector>
using namespace std;
const int NUMBER = 15746;
int main() {
int n;
cin >> n;
vector<int>dp(n+1);
dp[1] = 1;
dp[2] = 2;
for(int i=3; i<=n; i++) {
dp[i] = (dp[i-1] + dp[i-2])%NUMBER;
}
cout << dp[n];
return 0;
}
'ποΈ ICPC Sinchon > Dynamic Programming' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ][C++] λ°±μ€ 4883λ²: μΌκ° κ·Έλν (0) | 2024.09.13 |
---|---|
[BOJ][C++] λ°±μ€ 2688λ²: μ€μ΄λ€μ§ μμ (0) | 2024.09.06 |
[BOJ][C++] λ°±μ€ 11722λ²: κ°μ₯ κΈ΄ κ°μνλ λΆλΆ μμ΄ (0) | 2024.08.19 |
[BOJ][C++] λ°±μ€ 10164λ²: 격μμμ κ²½λ‘ (0) | 2024.08.15 |
[BOJ][C++] λ°±μ€ 1699λ²: μ κ³±μμ ν© (0) | 2024.08.14 |