Koala - 11기/코딩테스트 준비 스터디

[백준/C++] 13301 타일 장식물

nunomi0 2023. 7. 23. 21:16

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

 

13301번: 타일 장식물

대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개

www.acmicpc.net

 

# 문제 설명

- 타일 장식물에서, {1,1,2,3,5,8...}과 같이 정사각형 타일 한 변의 길이를 구할 수 있다.

- 타일의 개수 N(1<=N<=80)이 주어졌을 때, N개의 타일로 구성된 직사각형의 둘레를 구하는 프로그램을 작성한다.

 

# 풀이 방법

- 직사각형의 둘레는 (N번째 정사각형 한 변의 길이 + (N번째 정사각형 한 변의 길이+(N-1)번째 정사각형 한 변의 길이)) * 2 임을 알 수 있다.

- dp[[i]=dp[i-1]+dp[i-2] 점화식을 이용한다.

 

# 정답 코드

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

int n;
long long dp[10010];


int main() {
	cin >> n;

	dp[1] = 1;
	dp[2] = 1;
	
	for (int i = 3; i <= n; i++) {
		dp[i] = dp[i - 1] + dp[i - 2];
	}

	cout << dp[n] * 2 + (dp[n]+dp[n - 1]) * 2;
}