核电站问题
一个核电站有N个放核物质的坑,坑排列在一条直线上。如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质。
任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数
输入:输入文件只一行,两个正整数N,M( 1<N<50,2≤M≤5)
输出:输出文件只有一个正整数S,表示方案总数。
设N个坑不会发生爆炸的方案数是f[N],那么我们假设N以前的坑的方案
都已知了,那么我们只需要考虑第N个坑如何放即可(顺序是从左到右)。我们考虑两种情况:
1、当N这个坑放入物质,那么有两种可能,一种是因为之前放了连续的m-1个,现在放了就会爆炸,那么这种情况有f[N-1-m]种情况,这是要剪掉的。一种是不会发生爆炸,那么方案数就是f[N-1]。所以这个坑放入物质的方案有f[N-1]-f[N-1-m]。
2、当N这个坑不放入物质,那么方案直接就是f[N-1]。
所以f[N]=f[N-1]+f[N-1]-f[N-1-m]
其中f[0]=f[-1]=1