返回题解分享
讨论 / 题解分享/ 帖子详情

李白打酒(结果填空) - 题解

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

const int N = 110, MOD = 1000000007;
int f[N][N][N];
int n, m;

int main()
{
    cin >> n >> m;
    f[0][0][2] = 1;
    
    for (int i = 0; i <= n; i ++ )
        for (int j = 0; j <= m; j ++ )
            for (int k = 0; k <= m; k ++ )
            {
                int& v = f[i][j][k];
                if(i>=1 && k%2==0) v = (v + f[i - 1][j][k/2])%MOD;
                if(j>=1) v = (v + f[i][j - 1][k + 1])%MOD;
            }
    cout << f[n][m - 1][1];
    return 0;
}
0 回复 0 转发 1 喜欢 0 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!