#include <iostream>
#include <vector>
using namespace std;
int countLadders(int n) {
vector<int> dp(n + 1, 0);
dp[0] = 1;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= i; ++j) {
dp[i] += dp[i - j];
}
}
int result = 0;
for (int i = 1; i <= n; ++i) {
result += dp[n - i];
}
return result;
}
int main() {
int n;
cin >> n;
cout << countLadders(n) << endl;
return 0;
}
Подсчитать количество различных лесенок, которые могут быть построены из N кубиков.
Входные данные
1
Результат работы
1
Входные данные
3
Результат работы
2