ADV-15-最大乘积
2017-11-19 10:18
155 查看
问题描述
对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢?
输入格式
第一行一个数表示数据组数
每组输入数据共2行:
第1行给出总共的数字的个数n和要取的数的个数m,1<=n
4000
<=m<=15,
第2行依次给出这n个数,其中每个数字的范围满足:a[i]的绝对值小于等于4。
输出格式
每组数据输出1行,为最大的乘积。
样例输入
1
5 5
1 2 3 4 2
样例输出
48
对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢?
输入格式
第一行一个数表示数据组数
每组输入数据共2行:
第1行给出总共的数字的个数n和要取的数的个数m,1<=n
4000
<=m<=15,
第2行依次给出这n个数,其中每个数字的范围满足:a[i]的绝对值小于等于4。
输出格式
每组数据输出1行,为最大的乘积。
样例输入
1
5 5
1 2 3 4 2
样例输出
48
//-C-------- #include<stdio.h> #include<stdlib.h> #include<string.h> int max; void fun(int *val,int index,int size,int m,int cnt,int res); int main() { int n,m,x,i; int val[15]; scanf("%d",&x); while(x--) { scanf("%d %d",&n,&m); for(i=0;i<n;i++) { scanf("%d",&val[i]); } max = -10000000; fun(val,0,n,m,0,1); printf("%d\n",max); } return 0; } void fun(int *val,int index,int size,int m,int cnt,int res) { if(m==cnt) { if(res > max) { max = res; } return ; } if(index>=size) { return ; } fun(val,index+1,size,m,cnt+1,res*val[index]); fun(val,index+1,size,m,cnt,res); } //------------C++----------- #include "iostream" #include "stdio.h" #include "string" #include "math.h" #include "ctype.h" #include "vector" #include "stdlib.h" #include "string.h" #include "time.h" #include "set" #include "algorithm" using namespace std; int ans=-(1<<29); int n,m; int a[1000]; void dfs(int *a,int cur,int sum,int k) { if(k>m) return ; if(cur==n) { if(k==m) ans=std::max(ans,sum); return ; } dfs(a,cur+1,sum*a[cur],k+1); dfs(a,cur+1,sum,k); } int main() { int T; cin>>T; while(T--) { cin>>n>>m; for (int i = 0; i < n; i++) { cin>>a[i]; } ans=-(1<<29); dfs(a,0,1,0); cout<<ans<<endl; } return 0; }
相关文章推荐
- 蓝桥杯 ADV-15 算法提高 最大乘积
- 蓝桥杯 ADV-15算法提高 最大乘积
- 蓝桥杯 ADV-15 最大乘积
- 15_09_16 Array 数组中求最大值,最小值的方法
- C++ 实现最大k乘积
- 乘积最大
- [编程之美]子数组的最大乘积
- 子数组最大乘积
- 算法提高 ADV-189 连接乘积
- 算法提高 ADV-162 题目1 最大最小值
- tyvj 1047 乘积最大 N个数,K个乘号使得乘积最大
- 算法训练 乘积最大
- 乘积最大
- noj1017_乘积最大,递归与动态规划
- codeves 动态规划 乘积最大
- Maximum product of consecutive subsequence(最大连续子序列乘积)
- 最大乘积
- [12,127,85,66,27,34,15,344,156,344,29,47,....] 这是某设备测量到的工程数据。 因工程要求,需要找出最大的5个值。
- SDUT-1293乘积最大的分解
- NOJ1017 乘积最大 动态规划DP