水题。直接按定义递推即可,n 若很大,可以使用矩阵快速幂。
#include<bits/stdc++.h> using i64 = long long; int main() { std::cin.tie(nullptr)->sync_with_stdio(false); int n; std::cin >> n; std::vector<int> dp(41); dp[1] = dp[2] = 1; for (int i = 3; i <= 40; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } std::cout << dp[n]; return 0; }