一个核电站有N个放核物质的坑,坑排列在一条直线上。如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质。 任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数
输入
输入文件只一行,两个正整数N,M( 2≤N≤49,2≤M≤5)
输出
输出文件只有一个正整数S,表示方案总数。
样例输入
4 3
样例输出
13
#include<stdio.h> int main() { long long n,m,i,f[50]; scanf("%d%d",&n,&m); f[0]=1; for(i = 1;i <= n;i++) { if(i < m)f[i] = f[i-1] * 2; if(i == m)f[i] = f[i-1] * 2 - 1; if(i > m)f[i] = f[i-1] * 2 - f[i-m-1]; } printf("%lld\n",f[n]); return 0; }