//题目中结果有一条限制就是最后必须跳回A,如果我们的思想框在这个条件上就很容易卡住,因为这样的条件下的路径很难有规律的罗列,然而我们说这个图形中有三个区域,我们算出每个区域的第n-1次的种类数,然后很容易就地推出了第n次的,取结果的时候只要去A区域的就可以了
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
long long int dp[];
int main(void)
{
int i,j;
int t;
int dpA[],dpB[],dpC[];
dpA[]=;dpB[]=;dpC[]=;
for(i=;i<=;i++)
{
dpA[i]=(dpB[i-]+dpC[i-])%;
dpB[i]=(dpA[i-]+dpC[i-])%;
dpC[i]=(dpA[i-]+dpB[i-])%;
}
while(cin>>t&&t)
{
cout<<dpA[t]<<endl;
}
return ;
}

//题目中结果有一条限制就是最后必须跳回A,如果我们的思想框在这个条件上就很容易卡住,因为这样的条件下的路径很难有规律的罗列,然而我们说这个图形中有三个区域,我们算出每个区域的第n-1次的种类数,然后很容易就地推出了第n次的,取结果的时候只要去A区域的就可以了
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
long long int dp[65];
int main(void)
{
    int i,j;
    int t;
    int dpA[1001],dpB[1001],dpC[1001];
    dpA[1]=0;dpB[1]=1;dpC[1]=1;
    for(i=2;i<=1000;i++)
    {
        dpA[i]=(dpB[i-1]+dpC[i-1])%10000;
        dpB[i]=(dpA[i-1]+dpC[i-1])%10000;
        dpC[i]=(dpA[i-1]+dpB[i-1])%10000;
    }
    while(cin>>t&&t)
    {
        cout<<dpA[t]<<endl;
    }
    return 0;
}

hdu acm 2154(多解取一解)的更多相关文章

  1. hdu acm 1028 数字拆分Ignatius and the Princess III

    Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ...

  2. 安卓平台 全面支持软解和硬解的SDK-Demo源代码开放

    专业做视频编解码的SDK开发工作. 2015年12月1日10:46:55: 更新到1.5.0版本 功能列表: 基本播放: 1,正常播放, 支持MP4,FLV,AVI,TS,3GP,RMVB,WM,WM ...

  3. linux tar命令 压缩、打包、解压 详解

    linux tar命令 压缩.打包.解压 详解 1.常用压缩命令 tar –czvf 压缩后的文件.tar.gz 要压缩的文件 2.常用解压命令 tar –xzvf 解压后的文件.tar.gz [要解 ...

  4. 【转】GAMITBLOBK中固定解、浮点解、约束解、松弛解等解类型解释

    在GAMIT/GLOBK的使用过程中,经常会碰到固定解.浮点解.约束解.松弛解及其相关组合解(如约束固定解)等词汇,对于初学者,一时难以弄明白其中的含义,一般只有按部就班按照教程中,怎么说就怎么弄,不 ...

  5. dict字典常用方法总结,数据解构(解包)

    dict {'name':'holle'}字典存储大量关联型数据,可迭代的,最多只有200个键.查询数据速度非常快,符合二分查找(有100个数比如找75会先找到50然后判断,所以2^7次方7次即可找到 ...

  6. Android 6.0 RK3288 ROM编译详解+命令详解【转】

    本文转载自:http://blog.csdn.net/MLQ8087/article/details/58607692 Android 6.0 RK3288 ROM编译详解+命令详解 原创 2017年 ...

  7. 指针 取地址& 解引用 *

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAACNCAIAAAARutrLAAAgAElEQVR4nOydd3wcxd3/R13uvdsUY2

  8. C# NetCore使用AngleSharp爬取周公解梦数据 起因和页面数据拆解

    起因 最近突然心血来潮想做个小程序,学习一下小程序开发流程,然后新手就想做个查询的就可以了,少点交互能力,这种思来想去还是周公解梦比较靠谱, 网上一搜,还真有小程序源码,但是这里面似乎数据都是取第三方 ...

  9. 动态规划晋级——HDU 3555 Bomb【数位DP详解】

    转载请注明出处:http://blog.csdn.net/a1dark 分析:初学数位DP完全搞不懂.很多时候都是自己花大量时间去找规律.记得上次网络赛有道数位DP.硬是找规律给A了.那时候完全不知数 ...

随机推荐

  1. Oracle EBS-SQL (BOM-6):检查物料失效但BOM中未失效的数据.sql

    select msi.segment1                   装配件编码 , msi.description                  装配件描述 , msi.item_type ...

  2. 省去路由器,Windows 7 也能做无线AP

    电脑越来越白菜了,很多朋友家里已经有不少于二台电脑了.比方说一台笔记本一台台试机,哪么上网和联机的问题,随之而来了,二台电脑很多人可能会去买一个路由器,事实上,如果你其中一台有二个网卡一个有线一个无线 ...

  3. python-认识Socket[入门篇]

    什么是socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链 ...

  4. jquery 点击按钮实现listbox的显示与隐藏,点击其他地方按钮外的地方,隐藏listbox

    本来不知道如何获取服务器的控件的,这下知道可以这么做了,所以记录下来.... <asp:ImageButton ID="alltime" ImageUrl="ima ...

  5. zoj 1025Wooden Sticks(贪心)

    递增子序列的最小组数.可以直接贪心,扫一遍 #include<iostream> #include<cstring> #include<cstdio> #inclu ...

  6. office2010安装出错,windows installer服务不能更新一个或多个受保护的windows文件

    转自:http://www.08lr.cn/article/1985.html office2010安装过程中出现如下图错误:windows installer 服务不能更新一个或多个受保护的wind ...

  7. 任务栏流量监测工具 NetSpeedMonitor 在Windows 8下的安装使用

    这个是给不喜欢360等提供的桌面浮动网络监控的园友准备的,NetSpeedMonitor 是一个可以在任务栏监控流量的小工具,集成在任务栏上显示,可以手动设置单位.文字大小等.还支持监控日志,相比其他 ...

  8. SGU 310. Hippopotamus( 状压dp )

    题目大意:给N块板, 有A,B2种类型的板, 要求任意M块连续的板中至少有K块B板.1≤n≤60,1≤m≤15,0≤k≤m≤n. dp(x, s)表示第x块板, x前M块板的状态为s, 然后合法状态转 ...

  9. (4)事件处理——(3)代码执行的顺序(Timing of code execution)

    In Chapter 1, Getting Started, we noted that $(document).ready()was jQuery's primary way to perform ...

  10. R与数据分析旧笔记(四)画地图练习

    > library(maps) > library(geosphere) 载入需要的程辑包:sp > map("state")#画美国地图 > map(&q ...