当前位置: 首页 > news >正文

摆花

[NOIP2012 普及组] 摆花

题目描述

小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共 m m m 盆。通过调查顾客的喜好,小明列出了顾客最喜欢的 n n n 种花,从 1 1 1 n n n 标号。为了在门口展出更多种花,规定第 i i i 种花不能超过 a i a_i ai 盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列。

试编程计算,一共有多少种不同的摆花方案。

输入格式

第一行包含两个正整数 n n n m m m,中间用一个空格隔开。

第二行有 n n n 个整数,每两个整数之间用一个空格隔开,依次表示 a 1 , a 2 , ⋯ , a n a_1,a_2, \cdots ,a_n a1,a2,,an

输出格式

一个整数,表示有多少种方案。注意:因为方案数可能很多,请输出方案数对 1 0 6 + 7 10^6+7 106+7 取模的结果。

样例 #1

样例输入 #1

2 4
3 2

样例输出 #1

2

提示

【数据范围】

对于 20 % 20\% 20% 数据,有 0 < n ≤ 8 , 0 < m ≤ 8 , 0 ≤ a i ≤ 8 0<n \le 8,0<m \le 8,0 \le a_i \le 8 0<n8,0<m8,0ai8

对于 50 % 50\% 50% 数据,有 0 < n ≤ 20 , 0 < m ≤ 20 , 0 ≤ a i ≤ 20 0<n \le 20,0<m \le 20,0 \le a_i \le 20 0<n20,0<m20,0ai20

对于 100 % 100\% 100% 数据,有 0 < n ≤ 100 , 0 < m ≤ 100 , 0 ≤ a i ≤ 100 0<n \le 100,0<m \le 100,0 \le a_i \le 100 0<n100,0<m100,0ai100

NOIP 2012 普及组 第三题

#include<bits/stdc++.h>
using namespace std;
int f[1001][1001],a[10001],n,m;
//f[i][j]表示i种花放j盆的摆花方案数
int main()
{cin>>n>>m;//读入for (int i=1;i<=n;i++){cin>>a[i];//读入}f[0][0]=1;//赋初始值for (int i=1;i<=n;i++)//枚举放花的种数{for (int j=0;j<=m;j++)//枚举放花的盆数{for (int k=0;k<=a[i];k++)//枚举新放入放花的盆数{if (j-k>=0){f[i][j]=(f[i][j]+f[i-1][j-k])%1000007;}}}}cout<<f[n][m];//输出return 0;//结尾
}
http://www.lryc.cn/news/60297.html

相关文章:

  • newman结合jenkins实现自动化测试
  • 九种 OOM 常见原因及解决方案(IT枫斗者)
  • 远程代码执行渗透与防御
  • Activiti7原生整合和工作流相关概念详解
  • 核心业务4:标的管理
  • 面向计算机视觉的深度学习:6~10
  • 【LeetCode 图论 一】初探有向图Directed Graph
  • 计算机视觉:图片数据的预处理
  • 探秘C++中的神奇组合:std--pair的魅力之旅
  • Win10搭建我的世界Minecraft服务器「内网穿透远程联机」
  • 基于springboot和ajax的简单项目 02 代码部分实现,xml文件sql语句优化 (中)
  • LNMP架构部署
  • SpringBoot 防护XSS攻击
  • iOS 吸顶效果
  • 文本翻译免费软件-word免费翻译软件
  • redis 主从模式、哨兵模式、cluster模式的区别
  • SDL(2)-加载图片
  • 指针数组和数组指针
  • 程序员最常见的谎言
  • hypothesis testing假设检验
  • ChatGPT扩展系列之解决ChatGPT 被大面积封号的终极方案
  • 如何在DevOps中进行API生命周期管理?
  • 嵌套列表,与摩尔投票进阶
  • ChatGPT原理解释
  • 【配电网故障重构SOP】基于二阶锥松弛的加光伏风机储能进行的配电网故障处理和重构【考虑最优潮流】(Matlab代码实现)
  • ajax 的入门案例
  • Flutter TextField 交互实例 —— 新手礼包
  • 折叠屏:手机厂商的「续命良药」
  • RabbitMQ 保证消息不丢失的几种手段
  • nginx配置