跳舞毯

Time Limit: 2000/1000 MS (Java/Others)    Memory Li
mit: 32768/32768 K (Java/Others)
Total Submission(s): 2491    Accepted Submission(s): 1178

Problem Description
由于长期缺乏运动,小黑发现自己的身材臃肿了许多,于是他想健身,更准确地说是减肥。
小黑买来一块圆形的毯子,把它们分成三等分,分别标上A,B,C,称之为“跳舞毯”,他的运动方式是每次都从A开始跳,每次都可以任意跳到其他块,但最后必须跳回A,且不能原地跳.为达到减肥效果,小黑每天都会坚持跳n次,有天他突然想知道当他跳n次时共几种跳法,结果想了好几天没想出来-_-
现在就请你帮帮他,算出总共有多少跳法。
 
Input
测试输入包含若干测试用例。每个测试用例占一行,表示n的值(1<=n<=1000)。
当n为0时输入结束。
 
Output
每个测试用例的输出占一行,由于跳法非常多,输出其对10000取模的结果.
 
Sample Input
2 3 4 0
 
Sample Output
2 2 6
#include<iostream>
const int MAX=1000;
int x[MAX];
int y[MAX];
using namespace std;
int main()
{
int n,m,i,j;
x[0]=1;
y[0]=0;
for(i=1;i<=1000;i++)
{
x[i]=y[i-1]%10000;
y[i]=(x[i-1]*2+y[i-1])%10000;
}
while(scanf("%d",&n)&&n)
printf("%d\n",x[n]);
return 0;
}
/*a[i]表示第i步,最后跳到A的所有可能的个数
b[i]表示第i步,最后跳到B或者C的所有可能的个数
显然a[1]=1;因为是从A开始跳的
而 b[1]=0;因为从A出发,第1步不可能是B或者C的
那么这里有一个递推关系:
1. 第i步 a[i]=b[i-1]; 因为第i步跳到A的数量等于i-1步跳到B或C的数量;即从B或者C才可以跳到A
2.第i步 b[i]=a[i-1]*2+b[i-1];因为第i步跳到B或C的数量等于A数量的2倍加上B或C的数量;这个也好理解,因为从A可以跳到B或C,所以有两种选择,而只能从B跳到C,或者从C跳到B;
而我们要求的就是 第n步,能跳到A的所有步数,即a[n];
*/

杭电2154-跳舞毯相关推荐

  1. 杭电acm2151题java的解法,杭电ACM题型分类

    杭电ACM题型分类 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.1032.1037.1040.1048.1 ...

  2. hdoj杭电问题分类

    杭电上的题虽然多,但是一直苦于找不到问题分类,网页都是英文的,所以平时做题也没怎么看,今天仔细一看,问题分类竟然就在主页....做了那么久的题居然没发现,表示已经狗带..不要笑,不知道有没有像我一样傻 ...

  3. 杭电ACM(HDUOJ)试题分类

    杭电ACM试题分类 第一篇 1001 这个就不用说了吧                      1002 简单的大数                            1003 DP经典问题,最 ...

  4. 杭电acm第2304题答案c语言,【转】杭电ACM试题分类

    注:网上搜的 第一篇 1001 这个就不用说了吧 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 ...

  5. 杭电ACM题目类型整理

    版权声明:(╯3╰) 转载请注明: http://blog.csdn.net/bat67 杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 10 ...

  6. 【杭电ACM】1097 A hard puzzle

    [杭电ACM]1097  A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid=1097 先用int手写了算法结果竟然wrong answer ...

  7. 【ACM】杭电OJ 1106 函数atoi

    函数atoi是把字符串转化成整数的函数,头文件为 #include "stdlib.h" e.g. 运行环境:Dev-C++ 5.11 杭电1106 调用了sort函数,运行的时间 ...

  8. 【ACM】杭电OJ 2037

    题目链接:杭电OJ 2037 先把b[i]进行排序,然后,b[i]与a[i+1]进行比较. #include <iostream> #include <cstdio> #inc ...

  9. 【ACM】杭电OJ 2020(排序)

    题目链接:杭电OJ 2020 排序可以有冒泡排序,选择排序,或者直接调用函数. 下面是选择排序: #include <stdio.h> #include <math.h> in ...

  10. 【ACM】杭电OJ 2018

    题目链接:杭电OJ 2018 从n>4开始,每一年的牛的数量=前一年的牛的数量+三年前的牛的数量 问:为什么是三年前? 答:假设三年前有一头小牛出生,出生的那一年即为第一年,到了第四年,即三年后 ...

最新文章

  1. Ajax Session失效跳转登录页面的方法
  2. SpringBoot学习之@Configuration注解和@Bean注解
  3. android 原生分享界面_这些技巧和习惯,让你的原生 Android 更好用(上篇)
  4. 呆在实验室到深夜的小随笔
  5. 边缘计算:万物互联时代新型计算模型
  6. Python数据库编程pymysql
  7. python语句分为什么_Python为什么使用缩进来分组语句?
  8. 最大回撤,最大回撤恢复时间与最大回撤持续期
  9. 2014蓝桥杯:地宫取宝(DFS详解)
  10. 针对form表单赋值封装
  11. oracle 模式_Oracle实验--insert /*+APPEND*/与insert不同模式下产生redo大小
  12. 关于 用git clone 命令时报错RPC failed; curl 56 Recv failure....’ 的解决办法
  13. i12蓝牙耳机怎么设置成中文_耳朵里的小精灵——乐迈车载智能蓝牙耳机
  14. MeterSphere案例分享丨88完美邮箱全面提升产品质量的落地指南
  15. 用 Python 快速获取基金持仓增减情况 | 更新版
  16. MATLAB使用audioread时报错误:Error using which Must be a string scalar or character vector.
  17. NTU-Coursera机器学习:VC Bound和VC维度
  18. 为何需要警惕人工智能
  19. UG NX二次开发(C#)- 查询part历史信息
  20. springcloud 问题笔记 Redundant declaration: @SpringBootApplication already applies given @ComponentScan

热门文章

  1. 庖丁解牛 - 图解MySQL 8.0优化器查询解析篇
  2. 记录蓝屏问题FAULTY_HARDWARE_CORRUPTED_PAGE
  3. 电磁场与波 matlab,电磁场数值计算法与MATLAB实现
  4. Outlook邮箱不简单带你重新认识它
  5. vue 金额大写小转换 数字转换 小写转大写 保留两位小数
  6. gitLab私服-转帖记录
  7. 计算机一级最强大脑,计算机入侵人类 《最强大脑》选手完败?
  8. WIN10设置自动拨号联网任务,实现开机、断网自动重连
  9. 校招/社招-算法岗简历及面试经验分享
  10. 使用UltraISO制作U盘系统启动盘图文教程