蓝桥杯2114 李白打酒加强版

问题描述

话说大诗人李白, 一生好饮。幸好他从不开车。

一天, 他提着酒显, 从家里出来, 酒显中有酒 2 斗。他边走边唱:

无事街上走,提显去打酒。 逢店加一倍, 遇花喝一斗。

这一路上, 他一共遇到店 N 次, 遇到花 M 次。已知最后一次遇到的是花, 他正好把酒喝光了。

请你计算李白这一路遇到店和花的顺序, 有多少种不同的可能?

注意: 显里没酒 ( 0 斗) 时遇店是合法的, 加倍后还是没酒; 但是没酒时遇 花是不合法的。

输入格式

第一行包含两个整数 N 和 M.

输出格式

输出一个整数表示答案。由于答案可能很大,输出模 1000000007 的结果.

样例输入

复制代码
5 10

样例输出

复制代码
14

样例说明

如果我们用 0 代表遇到花,1 代表遇到店,14 种顺序如下:

010101101000000

010110010010000

011000110010000

100010110010000

011001000110000

100011000110000

100100010110000

010110100000100

011001001000100

100011001000100

100100011000100

011010000010100

100100100010100

101000001010100

评测用例规模与约定

对于 40% 的评测用例: 1≤N,M≤10 。

对于 100%的评测用例: 1≤N,M≤100 。

难。。

cpp 复制代码
#include<iostream>
using namespace std;

#define int long long
const int mod = 1000000007;
const int N = 110;

int n, m;

//dp[i][j][k]:遇到i次店,遇到j次花,剩余酒量为k时的顺序数量
int dp[N][N][N];   

signed main()
{
	cin>>n>>m;
	
	dp[0][0][2] = 1; 
	
	//遇到店的数量
	for(int i=0; i<=n; ++i)  
	{
		//遇到的花的次数
		for(int j=0; j<=m-1; ++j)//因为最后一次是花,所以之前最多遇到  m-1 次花
		{
			//遍历当前剩余的酒量
			//因为每次遇花喝一斗,最多喝 m 斗,所以酒量不会超过 m
			for(int k=0; k<=m; ++k)
			{
				//遇到花 
				if(j>=1 && k>=1)  //j>=1:j-1>=0, k>=1:当前酒量至少为1斗
				{
					//逆向逻辑:花的总次数从j-1增加到j,酒量从k+1减少到k
					dp[i][j][k] = dp[i][j-1][k+1];  //单纯的赋值,数值不会增长,因此不需要取模
				}
				//遇到店 
				if(i>=1 && k%2==0)
				{
					//逆向逻辑:店的总次数从i-1增加到i,酒量从k/2加倍到k
					dp[i][j][k] = (dp[i][j][k] + dp[i-1][j][k/2]) % mod;  //加法操作,数值会增长,必须取模
				}
			}
		}
	}
	
	//遇到 n 次店,m - 1 次花,酒量为1斗的方案数
	cout<<dp[n][m-1][1];
	
	return 0;
}
相关推荐
2501_924878738 分钟前
数据智能驱动进化:AdAgent 多触点归因与自我学习机制详解
人工智能·逻辑回归·动态规划
YYuCChi19 小时前
代码随想录算法训练营第三十七天 | 52.携带研究材料(卡码网)、518.零钱兑换||、377.组合总和IV、57.爬楼梯(卡码网)
算法·动态规划
罗湖老棍子21 小时前
括号配对(信息学奥赛一本通- P1572)
算法·动态规划·区间dp·字符串匹配·区间动态规划
一只小小的芙厨1 天前
寒假集训笔记·树上背包
c++·笔记·算法·动态规划
金融RPA机器人丨实在智能1 天前
2026动态规划新风向:实在智能Agent如何以自适应逻辑重构企业效率?
算法·ai·重构·动态规划
问好眼1 天前
【信息学奥赛一本通】1275:【例9.19】乘积最大
c++·算法·动态规划·信息学奥赛
菜鸟233号1 天前
力扣647 回文子串 java实现
java·数据结构·leetcode·动态规划
葵花楹1 天前
【算法题】【动态规划2】【背包动态规划】
算法·动态规划
2501_924878731 天前
企业级营销安全防线:AdAgent 合规风控体系设计与实践
人工智能·逻辑回归·动态规划
觅特科技-互站2 天前
陌讯视觉‘动态密度流’模型:亚运场馆到前海政务厅,98.6%聚众事件5秒精准定位|技术拆解+SDK实录
逻辑回归·动态规划