求解核电站问题

小野 2008-03-25 03:21:48
Description

一个核电站有N个放核物质的坑,坑排列在一条直线上。

如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质。

任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数

Input

该题有多组测试数据,每组数据一行,两个正整数N,M( 1<N≤50,2≤M≤5)

Output

每组数据只输出一个正整数S,表示方案总数。

Sample Input

4 3

Sample Output

13

以下是我的代码,但总是超时,请高手帮忙优化一下,这个是要打表吗?怎么打表?不会。。。。请高手指点
#include<stdio.h>
int n,m;
__int64 f(int a);
__int64 s[60];

int main()
{
while(scanf("%d%d",&n,&m)!=EOF)
{
printf("%I64d\n",f(n));
}
return 0;
}
__int64 f(int a)
{
if((a==-5) || (a==-4) ||(a==-3) ||( a==-2) )
return 0;
if((a==-1) || (a==0) )
return 1;
s[a]= 2*f(a-1)-f(a-1-m);
return s[a];
}


...全文
113 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧