피보나치와 동일하다. 타일 사각형의 둘레 길이를 구하는 규칙을 찾아내야 한다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
long long find_answer(int N) {
vector<long long> tile(N + 1, 0);
long long length = 0;
int i;
tile[1] = 1;
tile[2] = 1;
//피보나치와 동일함
for (i = 3; i <= N; i++) {
tile[i] = tile[i - 1] + tile[i - 2];
}
//둘레 길이 = (현재 타일 길이 + (현재 타일 길이 + 이전 타일 길이)) * 2
length = (tile[N] * 2 + tile[N - 1]) * 2;
return length;
}
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
long long N;
cin >> N;
cout << find_answer(N) << "\n";
return 0;
}