#include<stdio.h>
int fn(int k)
{
if (k < 2)
return 1;
else
return 2*fn(k-1)%100003;
}
int f[100000000];
int main()
{
int n,k;
scanf("%d%d",&n,&k);
int a,b;
for (a = 1; a < k+1; a ++)
{
f[a] = fn(a);
}
for (a = k+1; a < n+1; a ++)
{
for(b = a-1; b > a-k-1; b --)
{
f[a] = (f[b] + f[a]) % 100003;
}
}
printf("%d",f[n]);
return 0;
}
我对于这类题的总结是,我们要对数据敏感,分析这类有规律的数据。