准备春招,继续做题了。
#include <bits/stdc++.h>
int main(int argc, char *argv[]) {
int node_num;
std::cin >> node_num;
std::vector<int> dp(node_num + 1, 0);
dp[0] = 1;
dp[1] = 1;
// 节点数
for (int i = 2; i <= node_num; ++i) {
// 以编号j的结点作为头节点
for (int j = 1; j <= i; ++j) {
dp[i] += dp[j - 1] * dp[i - j];
}
}
std::cout << dp[node_num] << std::endl;
return 0;
}