1016 ProblemP
来源:互联网 发布:在淘宝网如何注册网店 编辑:程序博客网 时间:2024/05/16 09:53
题意:
在一无限大的二维平面中,我们做如下假设:
1、 每次只能移动一格;
2、 不能向后走(假设你的目的地是“向上”,那么你可以向左走,可以向右走,也可以向上走,但是不可以向下走);
3、 走过的格子立即塌陷无法再走第二次;
求走n步不同的方案数(2种走法只要有一步不一样,即被认为是不同的方案)。
思路:
我假设是往上走 第N步:在第N-1步的基础上 每一种情况 都对应第N步的至少两种情况 如果第N-1步时往上走的 那么此时对应的第N步情况为三种。而第N-2步到第N-1步的所有情况都可以往上走 也就是说第N-1步往上走的情况数为第N-2步的所有情况
所以
DP[N]=DP[N-1]*2+DP[N-2];
#include<iostream>using namespace std;int DP[21];int main(){ DP[0] = 0; DP[1] = 3; DP[2] = 7; for (int i = 3;i <=21;i++) { DP[i] = 2 * DP[i - 1] + DP[i - 2]; } int a; cin >> a; while (a--) { int b; cin >> b; cout << DP[b]<<endl; } return 0;}
0 0
- 1016 ProblemP
- 1016 ProblemP
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- 1016
- IDEA远程调试Tomcat
- OpenCV实践之路——使用imread()函数读取图片的六种正确姿势
- 事故配压阀验收报告
- 六年的程序员奋斗之路(2)
- Eclipse项目转到as下容易出现的错误
- 1016 ProblemP
- ecplise中使用git上传--mac
- <html>消息状态
- eclipse的快捷键
- Matrix详解_Matrix怎么用
- f:\rtm\vctools\vc7libs\ship\atlmfc\src\mfc\occcont.cpp(Line:950)错误
- JavaIo——运用RandomAccessFile实现文件的多线程下载
- 338. Counting Bits
- vim设置tab