πŸ‘Š PS/Algorithm

[Baekjoon] 11726번: 2xn 타일링

hades1 2024. 7. 26. 11:05

πŸ₯… 문제

https://www.acmicpc.net/problem/11726

 

πŸ” 섀계

직접 κ·Έλ €μ„œ νŒŒμ•…ν•΄λ³΄λ©΄, νŒŒλž€μƒ‰ ν™”μ‚΄ν‘œλŠ” 2*1 타일을 μΆ”κ°€ν•˜μ—¬ λ§Œλ“€μ–΄μ§€κ³ , 빨간색 ν™”μ‚΄ν‘œλŠ” 1*2 타일을 두 개 뢙인 것을 μΆ”κ°€ν•˜μ—¬ λ§Œλ“€μ–΄μ§„λ‹€.

 

즉, dp[i] = dp[i-1] + dp[i-2]λΌλŠ” 것을 μ•Œ 수 μžˆλ‹€.

 

πŸ‘Š 풀이

#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
using namespace std;

int n;
vector<int> dp(1001);

int main(void)
{	
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	cin >> n;
	dp[1] = 1;
	dp[2] = 2;
	for (int i = 3; i <= n; i++) {
		dp[i] = dp[i - 1] + dp[i - 2];
		dp[i] %= 10007;
	}
	cout << dp[n] << "\n";
	return 0;
}