wyh123
解题思路记录和牢骚
C++博客
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
随笔:34 文章:1 评论:1 引用:0
HDOJ 2563(递推)
题目大意:
在一无限大的二维平面中,我们做如下假设:
1、 每次只能移动一格;
2、 不能向后走(假设你的目的地是“向上”,那么你可以向左走,可以向右走,也可以向上走,但是不可以向下走);
3、 走过的格子立即塌陷无法再走第二次;
解题思路:1)题目的定义是在一个无限大的二维平面中,我们不妨暂时不考虑坐标的问题,画一下图就知道设不设坐标没影响。
2)已知每一步可以向上向左向右走,因此我们可以明确:
当当前步选择向上走的时候,其前一步可以是由左边,下边,上边走过来的;
当当前步选择向左走的时候,其前一步可以是由右边,下边走过来的;
当当前步选择向右走的时候,其前一步可以是由左边,下边走过来的。
3)所以,不妨设:a[n].le,a[n].ri,a[n].up,a[i].all分别表示当前步数选择的方法数,则有:
a[i].le=a[i-1].up+a[i-1].le;
a[i].ri=a[i-1].up+a[i-1].ri;
a[i].up=a[i-1].le+a[i-1].ri+a[i-1].up;
a[i].all=a[i].le+a[i].ri+a[i].up;
代码:
1
#include
<
iostream
>
2
#include
<
cstdio
>
3
#include
<
cstring
>
4
#include
<
cmath
>
5
6
using
namespace
std;
7
8
9
struct
numm
10
{
int
le;
11
int
ri;
12
int
up;
13
int
all;
14
}
a[
50
];
15
int
T,n;
16
17
18
int
main()
19
{ a[
1
].le
=
1
;
20
a[
1
].ri
=
1
;
21
a[
1
].up
=
1
;
22
a[
1
].all
=
3
;
23
for
(
int
i
=
2
; i
<=
20
; i
++
)
24
{
25
a[i].le
=
a[i
-
1
].up
+
a[i
-
1
].le;
26
a[i].ri
=
a[i
-
1
].up
+
a[i
-
1
].ri;
27
a[i].up
=
a[i
-
1
].le
+
a[i
-
1
].ri
+
a[i
-
1
].up;
28
a[i].all
=
a[i].le
+
a[i].ri
+
a[i].up;
29
}
30
cin
>>
T;
31
while
(T
--
)
32
{
33
cin
>>
n;
34
cout
<<
a[n].all
<<
endl;
35
36
}
37
return
0
;
38
}
39
发表于 2011-08-02 10:18
wyh
阅读(839)
评论(0)
编辑
收藏
引用
所属分类:
数学
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
poj 1971(数学题)
HDOJ 3823(素数)
HDOJ 3826(素数)
poj 1150(求末尾非0数字)
HDOJ 1286(欧拉函数)
HDOJ 1163(树根)
HDOJ 3003(大数取模)
HDOJ 2501(递推)
HDOJ 2045(递推)
HDOJ 2563(递推)
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
<
2011年8月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
DP(8)
(rss)
比赛总结
(rss)
博弈
(rss)
二分
(rss)
模拟(3)
(rss)
数据结构
(rss)
数学(19)
(rss)
搜索(1)
(rss)
随笔档案
2011年8月 (19)
2011年7月 (15)
文章分类
DP
(rss)
模拟
(rss)
数据结构
(rss)
数论(1)
(rss)
搜索
(rss)
图论
(rss)
文章档案
2011年7月 (1)
搜索
最新评论
1. re: HDOJ 2067(DP)
压根就没有看懂题意的路过~~!
--wgh
阅读排行榜
1. poj 1015(DP)(1026)
2. HDOJ 2563(递推)(839)
3. poj 1029(模拟)(775)
4. HDOJ 1286(欧拉函数)(660)
5. poj 1042(DP)(650)
评论排行榜
1. HDOJ 2067(DP)(1)
2. HDOJ 2041(DP)(0)
3. 2011/7/31(0)
4. HDOJ 2044(DP)(0)
5. HDOJ 2563(递推)(0)