1 #include <cstdio> 2 using namespace std; 3 4 int dp[45]; 5 int main() 6 { 7 int n,m; 8 dp[2]=3; 9 dp[1]=2; 10 for(int i=3;i<41;i++) 11 dp[i]=dp[i-1]+dp[i-2]; 12 scanf("%d",&n); 13 while(n--) 14 { 15 scanf("%d",&m); 16 printf("%d\n",dp[m]); 17 } 18 return 0; 19 }
刚开始接触动态规划,感觉就是在算完上一层数据之后在完成下一层时用到上一层的结果,并在基础上规划吧,这是我的理解吧,刚学吧!
这题用了解答树,找到了规律。
时间: 2024-10-16 22:50:59