(暴力枚举) UVa11059MaximumProduct
题目:
题目大概的意思就是给定一个序列,序列长度不超过18,序列也每个元素都是-10和10之间的数。求最大的连续序列乘积。
分析:
看到这道题首先想到的就是暴力枚举进行求解。(注意因为最大可能会出现10^18,所以用longlong类型)
枚举对象:由题意可知,枚举对象为连续序列的起点终点(这题有点坑,如果是两个数,一正一负,那么起点和终点相等的时候也就是单个正数的时候是最大的,但是能不能这样呢,最求试了两个情况,答案是起点可以等于终点。)
枚举范围:对于起点inta->[0,n-1],对于终点intb->[a,n-1]
判断条件:每次枚举与之前的乘积比取较大的一个,用一个Max();就可以实现。
实现代码:
#include <iostream>
using namespace std;
long long judge(long long a, long long b) {
if (a >= b) return a;
else return b;
}
int count = 1;
int main( int argc, char const *argv[] ) {
int n;
while ( cin >> n ) {
int S[19] = {0};
for ( int i = 0; i < n; ++i ) {
cin >> S[i];
}
long long result = S[0] * S[1];
for ( int i = 0; i <= n - 1; ++i ) {
for ( int j = i; j <= n - 1; ++j ) {
long long temp = 1;
for ( int k = i; k <= j; ++k ) {
temp *= S[k];
}
result = judge(result, temp);
}
}
cout << "Case #" << count ++ << ": The maximum product is " << result << endl;
cout << endl;
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。By PengCoX ( Pengc825@foxmail.com )
分享到:
相关推荐
VB 暴力枚举实现Ring3下检测隐藏窗体
易语言暴力枚举驱动源码,暴力枚举驱动,驱动操作_暴力枚举驱动,meiju_NtQuerySystemInformation,meiju_CopyMemory,meiju_GlobalSize
易语言源码易语言暴力枚举驱动源码.rar
易语言ring3下暴力枚举驱动的例子。任何驱动都可枚举出来。
R3暴力枚举驱动 易语言源码 R3的权限,可以枚举全部的加载的驱动
01暴力枚举1
暴力枚举 基于python实现的数学分支过程问题的暴力枚举模型
E4F暴力枚举.c
暴力枚举[10.19-10.22].pdf
资源介绍:。易代码出于本人之手,另附VB代码注释,VB代码非原创,2年前从看雪某个角落瞄出来翻译的[因为我个人非常喜欢把各种语言互相转换- -],一直把这个功能集成在自己的私人模块里,今天拿出来与大家分享....
易语言枚举窗口,转载他人的 源码易语言枚举窗口,转载他人的 源码易语言枚举窗口,转载他人的 源码易语言枚举窗口,转载他人的 源码易语言枚举窗口,转载他人的 源码易语言枚举窗口,转载他人的 源码易语言枚举窗口,转载...
易语言暴力枚举驱动源码
java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名。本项目为普通java项目
mfc 枚举进程 mfc 枚举进程 mfc 枚举进程 mfc 枚举进程 mfc 枚举进程
java枚举结果类、根据状态值获取枚举值 Controller: /** 模块类型枚举 */ model.addAttribute("mType", ModuleTypeEnum.ModuleTypeShow()); ftl: value="${mType.key}:${mType.value}” </#list>
枚举参数与对象类型进行比较,判断是否属于同一类型
从驱动开发网看到一篇《USB枚举详细过程分析》,依据自己的理解和经验对原文稍加改动。本文仅供参考,一些顺序并不是固定的。 本文描述的是Windows系统的USB枚举过程,但对嵌入式系统自行开发的USB主机驱动程序也...