题目:http://acm.hdu.edu.cn/showproblem.php?pid=2501
AC代码(C++):
#include <iostream> #include <queue> #include <string> #include <algorithm> #include <math.h> #define INF 0x3f3f3f3f #define eps 1e-8 using namespace std; long long dp[35]; int main() { int t; cin >> t; dp[1] = 1; dp[2] = 3; for (int i = 3; i <= 30; i++)dp[i] = dp[i - 1] + 2 * dp[i - 2]; while (t--) { int n; cin >> n; cout << dp[n] << endl; } //system("pause"); }总结: 动态规划. 一开始看题把2*2看成1*1, 百思不得其解...