核电站

来源:互联网 发布:cisco 端口隔离 编辑:程序博客网 时间:2024/04/30 13:02

http://codevs.cn/problem/2618/
记忆化搜索+递归
每一个坑可能装东西也可能不装东西,所以诞生出来递归的两种状态。
继续放东西,或这中断放东西。题目只告诉了最多连续放多少个没有说一共放多少个,所以还是比较好理解的。

#include<iostream>#include<stdio.h>#include<cmath>#include<string>#include<algorithm>using namespace std;int n, m;long long a[55][55] = { 0 };long long dfs(int i, int j){    if (j==m)    {        return 0;    }    if (i==n)    {        return 1;    }    if (a[i][j]!=0)    {        return a[i][j];    }    return a[i][j] = dfs(i+1,j+1) + dfs(i+1,0);}int main(){    cin >> n>>m;    dfs(0, 0);    cout << a[0][0] << endl;    system("pause");    return 0;}
0 0
原创粉丝点击