1016
来源:互联网 发布:我知谁掌管明天 背景 编辑:程序博客网 时间:2024/05/01 21:51
题意:求走n步不同的方案数,不能向后走,或者同样的方格走两次。
思路:经过思考不难发现,这是一个和数学相关的知识,先把有两个的情况给列出来,即dp[0]=3,dp[1]=7,不难发现dp[i] = 2*dp[i-1] + dp[i-2];
感想:acm越来越数学化了,这几道题都可以用数学上的递推公式解决。
#include<iostream>
using namespace std;int main()
{
int dp[20];
dp[0] = 3;
dp[1] = 7;
int i;
for(i = 2 ; i < 20 ; i++)
dp[i] = 2*dp[i-1] + dp[i-2];
int t;
cin>>t;
while(t--)
{
cin>>i;
cout<<dp[i-1]<<endl;
}
}
0 0
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- Rebase
- 算法分析—动态规划(01背包问题)
- 检查python模块是否安装
- 540 - Team Queue
- 设计模式之门面模式
- 1016
- Light oj 1112 - Curious Robin Hood【单点更新】
- 在web开发中ActionContext和ServletActionContext的比较
- 几种常见的集合
- 动态库的链接和链接选项-L,-rpath-link,-rpath
- 归并排序
- java中文乱码问题
- 【POJ 3070】Fibonacci(矩阵快速幂)
- iOS开发中数据库常用的语句