java算法 蓝桥杯 摆花
试编程计算,一共有多少种不同的摆花方案。
第二行有n个整数,每两个整数之间用一个空格隔开,依次表示a1、a2、……an。
3 2
对于50%数据,有0<n≤20,0<m≤20,0≤ai≤20;
对于100%数据,有0<n≤100,0<m≤100,0≤ ai≤100。
package 蓝桥杯java算法训练;
import java.util.Scanner;
public class _5摆花 {
//动态规划问题,设f[i][j]是前i种花摆放j盆的方案,则f[i][j]=f[i-1][j-k]
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();//n种花
int m = scanner.nextInt();//共m盆
int[] a = new int[n+1];
int[][] f = new int[n+1][m+1] ;
for (int i = 1; i <= n; i++) {
a[i] = scanner.nextInt();
}
//前1种花,摆放a[1]盆就一种方案
for (int i = 1; i <= a[1]; i++) {
f[1][i] = 1;
}
//前i中花,摆放0盆就一种方案
for (int i = 1; i <= n; i++) {
f[i][0] = 1;
}
//前i种花,摆放j盆共f[i][j]=f[i][j]+f[i-1][j-k]种
for (int i = 2; i <= n; i++) {
for (int j = 1; j <= m; j++) {
for (int k = 0; k <= a[i]&&k<=j; k++) {
f[i][j]=f[i][j]+f[i-1][j-k];
f[i][j] = f[i][j] % 1000007;
}
}
}
System.out.println(f[n][m]);
}
}
java算法 蓝桥杯 摆花的更多相关文章
- java算法 蓝桥杯 乘法运算
问题描述 编制一个乘法运算的程序. 从键盘读入2个100以内的正整数,进行乘法运算并以竖式输出. 输入格式 输入只有一行,是两个用空格隔开的数字,均在1~99之间(含1和99). 输出格式 输出为4行 ...
- java算法 蓝桥杯 扶老奶奶街
一共有5个红领巾,编号分别为A.B.C.D.E,老奶奶被他们其中一个扶过了马路. 五个红领巾各自说话: A :我和E都没有扶老奶奶 B :老奶奶是被C和E其中一个扶过大街的 C :老奶奶是被我和D其中 ...
- java算法 蓝桥杯 高精度加法
问题描述 在C/C++语言中,整型所能表示的范围一般为-231到231(大约21亿),即使long long型,一般也只能表示到-263到263.要想计算更加规模的数,就要用软件来扩展了,比如用数组或 ...
- java算法 蓝桥杯 格子位置
问题描述 输入三个自然数N,i,j (1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中,与格子(i,j)同行.同列.同一对角线的所有格子的位置. 输入格式 输入共三 ...
- java算法 蓝桥杯 文化之旅
问题描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不同的国家可能有相同的文化.不同文化 ...
- java算法 蓝桥杯 洗牌
问题描述 小弱T在闲暇的时候会和室友打扑克,输的人就要负责洗牌.虽然小弱T不怎么会洗牌,但是他却总是输. 渐渐地小弱T发现了一个规律:只要自己洗牌,自己就一定会输.所以小弱T认为自己洗牌不够均匀,就独 ...
- java算法 蓝桥杯(题+答案) 压缩变换
10.压缩变换 (程序设计) 小明最近在研究压缩算法.他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比.然而,要使数值很小是一个挑战. 最近,小明需要压缩一些正整数的序列,这些 ...
- java算法 蓝桥杯算法训练 Fibonacci数列
问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...
- java算法 蓝桥杯(题+答案) 方格填数
6.方格填数 (结果填空) 如下的10个格子 (如果显示有问题,也可以参看[图1.jpg]) 填入0~9的数字.要求:连续的两个数字不能相邻.(左右.上下.对角都算相邻) 一共有多少种可能的填数方案 ...
随机推荐
- [BZOJ2115][WC2011]最大XOR和路径
bzoj luogu sol 首先很显然的,答案等于1到n的任意一条路径的异或和与若干个环的异或和的异或和. 因为图是联通的,那么就可以从一个点走到任意一个想要走到的环上,走完这个环后原路返回,那么中 ...
- {Reship}{Sparse Representation}稀疏表示入门
声明:本人属于绝对的新手,刚刚接触“稀疏表示”这个领域.之所以写下以下的若干个连载,是鼓励自己不要急功近利,而要步步为赢!所以下文肯定有所纰漏,敬请指出,我们共同进步! 踏入“稀疏表达”(Sparse ...
- 我常用的几个第三方 Python 库
转自:http://blog.csdn.net/gzlaiyonghao/article/details/2966811 wxPython 如果你之前是 windows 程序员,用 MFC 或者 WI ...
- uGUI知识点剖析之AutoLayout
http://www.2fz1.com/post/unity-ugui-autolayout/ uGUI知识点剖析之AutoLayout 前文详细介绍过RectTransform,RectTransf ...
- Oracle数据库安装图文操作步骤1
Oracle数据库安装图文操作步骤 一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 官 ...
- 关于angular.extend的用法
ng中的ng-function中会有些方法,便于我们进行js代码的编写 关于angular.extend(dst, src);通过从src对象复制所有属性到dst来扩展目标对象dst.你可以指定多个s ...
- tensorboard的使用
# -*- coding: utf-8 -*- """ Created on: 2017/10/29 @author : Shawn function : "& ...
- HDOJ5521(巧妙构建完全图)
Meeting Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total ...
- python set集合 以及 深浅拷贝
set集合 特点: 无序, 不重复, 元素必须可哈希(不可变) 作用: 去重复 本身是可变的数据类型. 有增删改查操作. frozenset()冻结的集合. 不可变的. 可hash的 深浅拷贝() 1 ...
- python md5 请求 构造
-----------------md5加密的方法:---------------------------------- import hashlib m = hashlib.md5() ...