标签:时间 ret color content cin 不同 无法 current title
有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设:
a. 每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;
b. 走过的格子立即塌陷无法再走第二次;
c. 只能向北、东、西三个方向走;
请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。
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 }
标签:时间 ret color content cin 不同 无法 current title
原文地址:http://www.cnblogs.com/InfoEoR/p/7107101.html