풀이
타일링 가즈아~~~!!!
코드
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int n;
string dp[255] = { "1", "1" };
string deohagi(string a, string b) {
int sum = 0;
string res;
while (!a.empty() || !b.empty() || sum) {
if (!a.empty()) sum += a.back() - '0', a.pop_back();
if (!b.empty()) sum += b.back() - '0', b.pop_back();
res.push_back((sum % 10) + '0');
sum /= 10;
}
reverse(res.begin(), res.end());
return res;
}
int main() {
cin.tie(0); ios_base::sync_with_stdio(0);
for (int i = 2; i <= 250; i++)
dp[i] = deohagi(deohagi(dp[i-2], dp[i-2]), dp[i-1]);
while (cin >> n) cout << dp[n] << "\n";
return 0;
}
아무말
백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이