竞赛
考级
/* 本题是走两步台阶的扩展,解题方法类似走两步台阶。分两个步骤: 1. 当 i <= k 时,走法是前面所有台阶走法之和 + 1。例如: k = 5, i = 4 时, a[4] = a[3] + a[2] + a[1] + 1。加一是因为缺少从0 一步 走到 i 的走法。 2. 当 i > k 时,走法是前面 k 个台阶走法之和。 */ #include<bits/stdc++.h> using namespace std; int main() { }
happylon
#include<iostream> using namespace std; int dp[100005]; int main(){ int n,k; cin>>n>>k; dp[1]=1; for(int i=2;i<=k;i++){ dp[i]=(dp[i-1]*2)%100003; } } //我也不会,复制的
朕不是狗子
#include<bits/stdc++.h> using namespace std; long long n,k,a[10000]; int main(){ cin>>n>>k; a[0]=1; for(int i=0;i<=n;i++){ for(int j=1;j<=k;j++) a[i+j]+=a[i]; } cout<<a[n]; }
辞念.金