码迷,mamicode.com
首页 > 其他好文 > 详细

暑假集训(4)第三弹 -----递推(Hdu1799)

时间:2016-08-01 21:02:12      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:

问题描述:还记得正在努力脱团的小A吗?在他绘制贤者法阵时,他曾经最亲密的战友,暗中设下鬼打墙将小A围困,并准备破坏

小A正在绘制的法阵。小A非常着急。想阻止他的行动。而要阻止他,必须先破解鬼打墙。

哎,你不得不再次帮助他,告诉他在鬼打墙内应该走多少步。才能打破所有for循环。

 

问题分析:可以利用杨辉三角:1

                                        1    1

                                        1     2    1

                                        1     3     3    1

                                        1     4     6    4   1

                                          ........

                                        1    a[i-1][j]+a[i-1][j] ...............1

先打表,应该不会超时了。

技术分享
 1 #include "cstdio"
 2 __int64 a[2004][2004];
 3 void abegin()
 4 {
 5     for (int i=0;i<=2003;i++)
 6       for (int j=0;j<=2003;j++)
 7          a[i][j] = 0;
 8     for (int i=1;i<=2003;i++)
 9     {
10       a[i][i] = 1;
11       if (i != 1)
12        for (int j=1;j<=i;j++)
13          a[i][j] = (a[i-1][j] +a[i-1][j-1])%1007;
14     }
15 }
16 int main()
17 {
18     int t,n,m;
19     scanf ("%d",&t);
20     abegin();
21     while (t-- && scanf ("%d%d",&m,&n))
22     {
23           printf ("%d\n",a[n+1][m+1]);
24     }
25     return 0;
26 }
View Code

 

暑假集训(4)第三弹 -----递推(Hdu1799)

标签:

原文地址:http://www.cnblogs.com/huas-zlw/p/5727191.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!