添加乘号和加号使结果最大
来源:互联网 发布:穆雅斓的淘宝店可靠吗 编辑:程序博客网 时间:2024/06/05 18:24
如
1 3 5
结果是(1+3)*5=20;最大
可以添加若干个括号,但一定要保证配对,但是每两个数之间只可能有一个*或+
数列最前和最后不应有+或乘
小明想赢小红但是他比较笨,请你帮帮他
- 输入
- 多组测试数据以EOF结束,每组有一个n(n<10000),然后有n个正整数a[i](1<=a[i]<=20)
- 输出
- 输出最大的结果由于结果比较大,结果对10086取余
- 样例输入
31 2 335 1 2
- 样例输出
915
- void jia(int *a, int x, int y)
- {
- if(a[x]==2) //如果是2,果断加1,3得出的乘积比1+1=2大
- {
- a[x]++;
- return ;
- }
- if(a[x]==0) //当有2的时候会在前面出现一个0,那么就把标记移动到前面的那个3上
- x--;
- a[x]<=a[y] ? a[x]++ : a[y]++;//优先向左加,因为是从左向右贪心,那么右面所出现的东西是未知的,所以向左加,比如4 1 4 1
- }
- int main()
- {
- int n,sum;
- int a[10002];
- while(scanf("%d",&n)!=EOF)
- {
- for(int i=0; i<n; i++)
- scanf("%d", &a[i]);
- if(a[0]==1 && n>1)
- a[1]++;
- a[0]=0; //如果第一个数是1,那么就让他后面的数加1,自己变成0
- for(int i=1; i<n-1; i++)
- if(a[i]==1) //有1执行那个函数
- a[i]=0;
- jia(a, i-1, i+1);
- if(a[n-1]==1 && n>1) //最后一个数如果是1那么只能往前找一个数加上
- {
- for(i=n-2; !a[i]; i--);
- a[i]++;
- a[n-1]=0;
- }
- for(int i=0,sum=1; i<n; i++)
- if(a[i])
- sum= (sum*a[i])%10086; //相乘
- pritnf("%d\n",sum);
- }
- }
- }
0 0
- 添加乘号和加号使结果最大
- 添加括号使表达式的值最大(表达式仅含加号和乘号)
- 加号改乘号
- Java 加号变乘号
- 加号改乘号 (穷举法)
- 123456789 往这串数字里插入3个乘号,使得结果最大
- 蓝桥杯 — 加法变乘法(把其中两个不相邻的加号变成乘号)
- (接上)第7题1到49两个不相邻加号改乘号
- 加号和减号
- sumproduct多条件求和经典问题(乘号和逗号)剖析
- numpy中矩阵相乘的用法:dot函数和乘号*
- ajax点击 加号 批量添加 yii框架
- jquery post中文和加号
- Python乘法,变量在乘号前与后的结果差异
- 在一串数字中插入r个乘号,使得乘积最大
- 请在123456789中插入3个乘号使得乘积最大
- 数字序列和为0--一串数字 添加符号 使其结果为0
- GridView 动态添加一个view(加号图标),数据等于9的时候,加号图标隐藏
- 这样写简历,命中率高达99%
- Node.js与网络:Node.js对TCP、UDP、Socket、HTTP等协议的实现和支持
- linux性能优化常用命令
- 从Apache Phoenix4.7.1升级4.8.1报错Cluster is being concurrently upgraded from 4.7.x to 4.8.x.
- String清除字符串前后空格,包括全角空格
- 添加乘号和加号使结果最大
- 详解MySQL大表优化方案( 转)
- 微信小程序-view(视图容器)
- ITU-T-REC-G.1080-IPTV的体验质量(QoE)要求(一)
- iOS 中的 block 是如何持有对象的
- 集合框架 IList,IList——向量(1)
- Zookeeper3.4.9安装
- Redis入门很简单之五【Jedis和Spring的整合】
- 民营投资者参与不良资产行业的几类模式