1196:踩方格

简介: 1196:踩方格

1196:踩方格

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设:

a、每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;

b、走过的格子立即塌陷无法再走第二次;

c、只能向北、东、西三个方向走;

请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。

【输入】

允许在方格上行走的步数n(n≤20)。

【输出】

计算出的方案数量。

【输入样例】

2

【输出样例】

7

【来源】

No

1. //题解
2. //l[i]表示最后一步向左走到达第i个格,那么它上一格不能是从右边走得到,
3. //r[i]表示最后一步向右走到达第i个格,那么它上一格不能是从左边走得到,
4. //u[i]表示最后一步先上走到达第i个格;
5. #include<bits/stdc++.h> 
6. using namespace std;
7. int l[22],r[22],u[22];
8. int main()
9. {
10.   int n,i;
11.   cin>>n;
12.   if(n==1) cout<<3;
13.   else{
14.     l[1]=1; r[1]=1; u[1]=1;
15.     for(i=2;i<=n;i++){
16.       l[i]=l[i-1]+u[i-1];
17.       r[i]=r[i-1]+u[i-1];
18.       u[i]=u[i-1]+l[i-1]+r[i-1];
19.     }
20.     cout<<l[n]+r[n]+u[n];
21.   }
22.   return 0;
23. }
1. #include<bits/stdc++.h> 
2. using namespace std;
3. int a[22];
4. int main()
5. {
6.  int n,i;
7.  a[0]=1;
8.  a[1]=3;
9.  for(i=2;i<=20;i++) a[i]=2*a[i-1]+a[i-2];
10.   cin>>n;
11.   cout<<a[n];
12.   return 0;
13. }

 


相关文章
|
异构计算
【自己动手画CPU】运算器设计
【自己动手画CPU】运算器设计
575 0
|
编解码 测试技术
【自己动手画CPU】单总线CPU设计(二)
【自己动手画CPU】单总线CPU设计(二)
305 1
|
机器学习/深度学习 算法 数据挖掘
马尔科夫链(Markov Chain, MC)算法详解及Python实现
马尔科夫链(Markov Chain, MC)算法详解及Python实现
10677 115
马尔科夫链(Markov Chain, MC)算法详解及Python实现
|
监控 安全 数据可视化
浅谈下一代防火墙与Web应用防火墙的区别
浅谈下一代防火墙与Web应用防火墙的区别
442 0
|
数据可视化 vr&ar
【Eviews实战】——ARIMA模型建模
【Eviews实战】——ARIMA模型建模
|
存储 内存技术
内存条RAM详细指南
内存条(RAM)是电脑中用于临时存储数据和程序的部件,CPU依赖它执行操作。内存条经历了从主内存扩展到读写内存整体的发展,常见类型包括SDRAM和DDR SDRAM。内存容量、存取时间和奇偶校验是衡量其性能的关键指标。在选购时,应考虑类型、容量、速度和品牌,知名品牌的内存条提供更好的可靠性和稳定性。
3959 2
|
消息中间件 存储 Java
Kafka 详解:全面解析分布式流处理平台
Kafka 详解:全面解析分布式流处理平台
813 0
|
机器学习/深度学习 自然语言处理 监控
NLP技术有哪些主要任务?
【7月更文挑战第8天】NLP技术有哪些主要任务?
965 4
|
存储 Linux 网络架构
如何在Linux上添加路由?
【4月更文挑战第8天】
278 2
如何在Linux上添加路由?