4982:踩方格
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4982:踩方格相关的知识,希望对你有一定的参考价值。
4982:踩方格
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设:
a. 每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;
b. 走过的格子立即塌陷无法再走第二次;
c. 只能向北、东、西三个方向走;
请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。 - 输入
- 允许在方格上行走的步数n(n <= 20)
- 输出
- 计算出的方案数量
- 样例输入
-
2
- 样例输出
-
7
很好理解的题,递推即可;1 #include<bits/stdc++.h> 2 using namespace std; 3 int up[10000], r[10000], lef[10000], total[100000]; 4 int main() 5 { 6 int n; 7 cin >> n; 8 up[1] = 1; r[1] = 1; lef[1] = 1; 9 for(int i=2;i<=n*n+1;i++) 10 { 11 r[i] = up[i - 1] + r[i - 1]; 12 lef[i] = up[i - 1] + lef[i - 1]; 13 up[i] = up[i - 1] + lef[i - 1] + r[i - 1]; 14 total[i] = r[i] + lef[i] + up[i]; 15 } 16 cout << total[n] << endl; 17 return 0; 18 }
以上是关于4982:踩方格的主要内容,如果未能解决你的问题,请参考以下文章