搜索 台阶问题1192
来自洛谷1192
别问我为什么我把这个题放进计划里。。。。我n个月之前是真不会来着啊,然后刚刚花了4分钟写了出来。
就是一个小型dp,每个状态都可以由它1~k步前的台阶转移而来,没有什么需要注意的。
#include <iostream> #include <cstdio> using namespace std; int n,k,f[100003]; int main(){ scanf("%d%d",&n,&k); f[0]=1; for(int i=1;i<=n;i++){ for(int j=1;j<=min(i,k);j++){ f[i]=(f[i]+f[i-j])%100003; } } printf("%d",f[n]%100003); return 0; }