728x90
11726๋ฒ: 2×n ํ์ผ๋ง
2×n ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ 1×2, 2×1 ํ์ผ๋ก ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ ๊ทธ๋ฆผ์ 2×5 ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ ์ฑ์ด ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์ด๋ค.
www.acmicpc.net
๋ฌธ์
2×n ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ 1×2, 2×1 ํ์ผ๋ก ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ ๊ทธ๋ฆผ์ 2×5 ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ ์ฑ์ด ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์ด๋ค.

์ ๋ ฅ
์ฒซ์งธ ์ค์ n์ด ์ฃผ์ด์ง๋ค. (1 ≤ n ≤ 1,000)
์ถ๋ ฅ
์ฒซ์งธ ์ค์ 2×n ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ 10,007๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ
9
์์ ์ถ๋ ฅ
55
ํ์ด

Solution
#include <iostream>
using namespace std;
int N, t[1000];
int DP(int n){
t[1] = 1;
t[2] = 2;
for(int i=3; i<=n; i++)
t[i] = (t[i-1] + t[i-2])%10007;
return t[n];
}
int main() {
cin >> N;
cout << DP(N);
return 0;
}728x90
'๐งฉ Algorithm > [BOJ] Silver' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| BOJ 4963๋ฒ : ์ฌ์ ๊ฐ์ (C++/Silver 2) (1) | 2022.10.04 |
|---|---|
| BOJ 11724๋ฒ : ์ฐ๊ฒฐ ์์์ ๊ฐ์ (C++/Silver 2) (0) | 2022.09.29 |
| BOJ 9095๋ฒ : 1, 2, 3 ๋ํ๊ธฐ (C++/Silver 3) (0) | 2022.09.23 |
| BOJ 10816๋ฒ : ์ซ์ ์นด๋ 2 (C++, Python/Silver 4) (0) | 2022.09.18 |
| BOJ 1654๋ฒ : ๋์ ์๋ฅด๊ธฐ (C++/Silver 2) (0) | 2022.09.18 |