【u127】台阶问题
Time Limit: 1 second
Memory Limit: 128 MB
【问题描述】
有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。
【输入格式】
输入文件stair.in的仅包含两个正整数N,K。
【输出格式】
输入文件stair.out仅包括1个正整数,为不同方式数,由于答案可能很大,你需要输出mod 100003后的结果。
【数据规模】
对于20%的数据,有N ≤ 10, K ≤ 3; 对于40%的数据,有N ≤ 1000; 对于100%的数据,有N ≤ 100000,K ≤ 100。
Sample Input1
5 2
Sample Output1
8
【题目链接】:http://noi.qz5z.com/viewtask.asp?id=u127
【题解】
不管一次能上几个阶梯
f[n] = f[n-1]+f[n-2]+..+f[n-k];
边界
f[0] = 1,f[1] = 1;(因为k为正整数)
【完整代码】
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAXN = 1e5+10;
const int MOD = 1e5+3;
int n,k;
int f[MAXN];
int main()
{
scanf("%d%d",&n,&k);
f[0] = 1;f[1] = 1;
for (int i = 2;i <= n;i++)
for (int j = max(i-k,0);j <= i-1;j++)
f[i] = (f[i]+f[j])%MOD;
printf("%d\n",f[n]);
return 0;
}
【u127】台阶问题的更多相关文章
- jQuery插件开发精品教程,让你的jQuery提升一个台阶
要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...
- JS面试题-算法台阶问题
有100格台阶,可以跨1步可以跨2步,那么一个有多少种走法: 今天电话面试.遇到一道算法问题,然后瞬间一脸懵逼: 然后机智的我,自作聪明的想到如果一个人每次都走1步,那么最多步,每次走2步最少步:然后 ...
- 青蛙跳100级台阶算法,完整可运行,php版本
/* 算法题目 * 2016年4月11日16:11:08 * 一只青蛙,一次可以跳1步,或者2步,或者3步,现在要跳100级台阶,请问青蛙有多少种上100级台阶的跳法 * 1步的有$n 2步的有$m ...
- Swift解算法——台阶问题
题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级. 求总共有多少总跳法,并分析算法的时间复杂度. 首先对题目进行分析: 台阶一共有n级 因此当n = 1时——只有一种跳法 当 ...
- 剑指Offer 变态跳台阶
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 其实就是斐波那契数列问题. 假设f(n)是n个台阶跳的次数. f(1) = ...
- 剑指Offer 跳台阶
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 解题思路: f(n)=f(n-1)+f(n-2); f(1)=1,f(2)=2; AC代码 ...
- 转:jQuery插件开发精品教程,让你的jQuery提升一个台阶
要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...
- 剑指offer——变态跳台阶
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 问题分析 由于每次跳的阶数不确定,没有一个固定的规律,但是可以了解的是后一次跳 ...
- IT公司100题-27-跳台阶问题
问题描述: 一个台阶总共有n阶,一次可以跳1级或者2级.求总共有多少种跳法. 分析: 用f(n)表示n阶台阶总共有多少种跳法.n阶台阶,第一可以选择跳1阶或者2阶,则f(n) = f(n-1) + ...
随机推荐
- 原生js大总结三
021.定义函数的几种方式 1.关键字函数:function fnName(){}; 2.字面量函数:var fn = function(){}; 3.构造函数:var fn = new ...
- 【Codeforces Round #447 (Div. 2) C】Marco and GCD Sequence
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 把gcd(a[1..n])放在输入的n个数之间. [代码] /* 1.Shoud it use long long ? 2.Have ...
- 洛谷 P2969 [USACO09DEC]音符Music Notes
P2969 [USACO09DEC]音符Music Notes 题目描述 FJ is going to teach his cows how to play a song. The song cons ...
- 微信支付v2开发(7) 告警通知
本文介绍微信支付中如何获得告警通知. 一.告警通知 为了及时通知商户异常,提高商户在微信平台的服务质量.微信后台会向商户推送告警通知,包括发货延迟.调用失败.通知失败等情况,通知的地址是商户在申请支付 ...
- 11.3 Android显示系统框架_最简单的surface测试程序
APP有一个surface(界面),其有多个buffer用来存放界面数据,这些buffer是向surfaceflinger申请的: 因此我们编写的surface测试程序步骤: (1)获得surface ...
- python中线程、进程和协程的区别
进程是资源分配的单位 线程是操作系统调度的单位 协程,又称微线程,纤程,协程的切换只是单纯的操作CPU的上下文,资源很小,效率高 进程切换需要的资源很最大,效率很低 一个程序至少有一个进程,一个进程至 ...
- C#游戏开发高速入门 2.1 构建游戏场景
C#游戏开发高速入门 2.1 构建游戏场景 假设已经计划好了要编写什么样的游戏,在打开Unity以后.要做的第一件事情就是构建游戏场景(Scene).游戏场景就是玩家游戏时,在游戏视图中看到的一切. ...
- C++胜者树
#include <iostream> #define MAX_VALUE 0x7fffffff using namespace std; //在这里我先反思一下.不知道怎么搞的,这个算法 ...
- 自旋锁spinlock解析
1 基础概念 自旋锁与相互排斥锁有点类似,仅仅是自旋锁不会引起调用者睡眠.假设自旋锁已经被别的运行单元保持.调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁."自旋"一词就 ...
- Android OnGestureListener用法 识别用户手势 左右滑动
Android可以识别用户的手势(即用户用手指滑动的方向),通过用户不同的手势,从而做出不同的处理 需要使用OnGestureListener 比如说看电子书的时候翻页,或者要滑动一些其他内容 直接上 ...