核电站(递推)

一个核电站有N个放核物质的坑,坑排列在一条直线上。如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质。
任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数
 
【输入格式】
输入文件只一行,两个正整数N,M( 1<N<50,2≤M≤5)
 
【输出格式】
输出文件只有一个正整数S,表示方案总数。
 
【样例输入】
4 3
 
【样例输出】
13

#include<stdio.h>
int main(void)
{
int n,m,i;
int f[1000];
f[0]=1;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
{
if(i<m)
f[i]=2*f[i-1];
else if(i==m)
{
f[i]=2*f[i-1]-1;
}
else
{
f[i]=2*f[i-1]-f[i-m-1];
}

}printf("%d\n",f[n]);
return 0;
}







你可能感兴趣的:(dp,C语言,ACM,递推)