주소 : https://www.acmicpc.net/problem/11726
11726번: 2×n 타일링
2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.
www.acmicpc.net
소스 코드 :
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <vector>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int n;
int result = 0;
cin >> n;
vector<int> v(n);
v[0] = 1;
v[1] = 2;
for (int i = 2; i < n; i++)
{
v[i] = (v[i - 1] + v[i - 2]) % 10007;
}
cout << v[n - 1];
}
마무리 : 이 문제는 입력된 크기의 직사각형 타일로 1×2, 2×1 타일을 채우는 문제로 계산 문제이다. 그래서 먼저 dp로 입력 숫자를 눌려서 풀어보았는데 dp로 풀 수 있음을 알고 코드를 짰다.
'백준 > C++' 카테고리의 다른 글
백준 17626번 : Four Squares [C++] (0) | 2022.09.04 |
---|---|
백준 11727 : 2xn 타일링 2 [C++] (0) | 2022.09.04 |
백준 11659번 : 구간 합 구하기 4 [C++] (0) | 2022.09.02 |
백준 9461번 : 파도반 수열 [C++] (0) | 2022.09.02 |
백준 9375번 : 패션왕 신해빈 [C++] (0) | 2022.09.02 |