首页 > 其他 > 详细

2014/3/9 长沙多校(第二次)

时间:2014-03-10 03:53:33      阅读:597      评论:0      收藏:0      [点我收藏+]

H:dp

分析:dp[i][0],dp[i][1]:分别表示长度为i,以0,1结尾的串...

         注意 dp[i][1]=dp[i-1][0]+dp[i-1][1]-以10结尾的个数(dp[i-1][0]-dp[i-2][1])即可,边界写到dp[2]

题源:http://acm.hdu.edu.cn/showproblem.php?pid=3485

代码:

bubuko.com,布布扣
 1 #include <iostream>
 2 #include <string.h>
 3 #include <stdio.h>
 4 #include <cmath>
 5 #define maxn 10005
 6 
 7 using namespace std;
 8 
 9 int n;
10 int dp[maxn][2];
11 
12 void init()
13 {
14     dp[0][0]=0;dp[0][1]=0;
15     dp[1][0]=1;dp[1][1]=1;
16     dp[2][0]=2;dp[2][1]=2;
17     for(int i=3;i<maxn;i++)
18     {
19         dp[i][0]=dp[i-1][1]+dp[i-1][0];
20         dp[i][0]%=9997;
21         dp[i][1]=dp[i-1][1]+dp[i-2][0];
22         dp[i][1]%=9997;
23     }
24     return;
25 }
26 int main()
27 {
28     init();
29     while(cin>>n && n>=0)
30     {
31         printf("%d\n",(dp[n][0]+dp[n][1])%9997);
32     }
33     return 0;
34 }
View Code

2014/3/9 长沙多校(第二次),布布扣,bubuko.com

2014/3/9 长沙多校(第二次)

原文:http://www.cnblogs.com/little-w/p/3590684.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!