nyoj--1170--最大的数(数学技巧)
最大的数
- 描述
-
小明和小红在打赌说自己数学学的好,于是小花就给他们出题了,考考他们谁NB,题目是这样的给你N个数在这n个数之间添加N-1个*或+,使结果最大,但不可以打乱原顺序,请得出这个结果如1 3 5结果是(1+3)*5=20;最大可以添加若干个括号,但一定要保证配对,但是每两个数之间只可能有一个*或+数列最前和最后不应有+或乘小明想赢小红但是他比较笨,请你帮帮他
- 输入
- 多组测试数据以EOF结束,每组有一个n(n<10000),然后有n个正整数a[i](1<=a[i]<=20)
- 输出
- 输出最大的结果由于结果比较大,结果对10086取余
- 样例输入
-
3
1 2 3
3
5 1 2 - 样例输出
-
9
15
找到1,让一的作用最大化
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int a[10010];
void add(int l,int r)
{
if(a[l]==2)
{
a[l]++;
return ;
}
if(a[l]==0)
l--;
a[l]<=a[r]?a[l]++:a[r]++;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int i,j;
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
if(a[1]==1)
{
a[2]++;
a[1]=0;
}
for(i=2;i<n;i++)
{
if(a[i]==1)
{
a[i]=0;
add(i-1,i+1);
}
}
if(a[n]==1&&n>1)
{
for(i=n-1;!a[i];i--);
a[i]++;
a[n]=0;
}
int sum;
for(i=1,sum=1;i<=n;i++)
{
if(a[i])
sum=(sum*a[i])%10086;
}
printf("%d\n",sum);
}
return 0;
}
nyoj--1170--最大的数(数学技巧)的更多相关文章
- 丑数<数学技巧>
题意:丑数就是质因子只有2,3,5 ,7,的数,另外1也是丑数.求第n(1=<n<=5842)个丑数,n=0,结束. 思路:.3.5或者7的结果(1除外).那么,现在最主要的问题是如何排序 ...
- 51nod 1170 1770 数数字(数学技巧)
解题思路:看到题后,直接想到分成两种情况: ①:a*b >9 这里又分成两种 1. n==1 a*b 直接是一个两位数 求得十位和个位(这里十位和个位不可能相等) 然后如果等于d 则结果=1 2 ...
- NYOJ 330 一个简单的数学
一个简单的数学题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描写叙述 zyc近期迷上了数学,一天,dj想出了一道数学题来难住他.算出1/n,但zyc一时答不上来希望大家能 ...
- 南阳OJ 1170 最大的数
最大的数 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 小明和小红在打赌说自己数学学的好,于是小花就给他们出题了,考考他们谁NB,题目是这样的给你N个数 在这n个数 ...
- LeetCode Find the Duplicate Number 找重复出现的数(技巧)
题意: 有一个含有n+1个元素的数组,元素值是在1-n之间的整数,请找出其中出现超过1次的数.(保证仅有1个出现次数是超过1的数) 思路: 方法一:O(nlogn).根据鸽笼原理及题意,每次如果< ...
- nyoj 85 有趣的数
点击打开链接 有趣的数 时间限制:3000 ms | 内存限制:65535 KB 难度: 描述 把分数按下面的办法排成一个数表. 1/1 1/2 1/3 1/4..... 2/1 2/2 2/3. ...
- nyoj 33 蛇形填数
蛇形填数 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形.例如n=4时方陈为: 10 11 ...
- 用Eclipse 统计代码行数小技巧
今天公司SQA问我目前项目代码行数有多少,我当时就是想,以前好像写过类似的统计工具但是一时又找不到 公司网络又不能下载,所以想想eclipse是不是又类似功能,找了下没有,但突然一想有一个转弯方法:统 ...
- [数]数学系列预习->补水题ver.
---恢复内容开始--- 话说要学反演了,contest一题都搞不定,整理题目暂且搁置,数学笨蛋来学一下数学_(:з」∠)_ ---恢复内容结束--- 是的,预习看了半天教学,没有整理,做题又都不会, ...
随机推荐
- [Javascript] Delegate JavaScript (ES6) generator iteration control
We can execute generators from generators, and delegate the iteration control with the yield* keywor ...
- Android socket 使用PrintWriter和BufferedReader发送和接收出现乱码问题解决
项目中用到了Android和C++的通信.选择了用socket 发送字符的方式,一開始使用的代码是: socket=new Socket(); InetSocketAddress isa = new ...
- linux中sed的使用方法具体解释(对行数据的加入、删除等)
sed使用语法 [root@fwq test]# sed --help 使用方法: sed [选项]... {脚本(假设没有其它脚本)} [输入文件]... -n, --quiet, --silent ...
- Perl怎样过滤html标签
比方一串字符串 <div><b>123</b></div> 假设仅仅想拿到123怎么办呢? 用perl的正則表達式能够非常easy的做到. $str = ...
- 实现一个类似360的button
通过改写一个buttonst类,实现360效果的button. 主要可以完成:frame,hover,face效果,并且支持menu,tooltips 1)派生新的类QButton.添加虚函数,设置自 ...
- Redis-2-对于key的通用操作
Redis-2-对于key的通用操作 标签(空格分隔): redis del key key1 key2 作用: 删除1个或多个键 返回值: 不存在的key忽略掉,返回真正删除的key的数量 rena ...
- Binary Indexed Tree
我借鉴了这个视频中的讲解的填坑法,我认为非常易于理解.有FQ能力和基本英语听力能力请直接去看视频,并不需要继续阅读. naive 算法 考虑一个这样的场景: 给定一个int数组, 我们想知道它的连续子 ...
- JavaScript学习记录三
title: JavaScript学习记录三 toc: true date: 2018-09-14 23:51:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...
- 将枚举存入map集合
遍历枚举存入集合: Map<String,Object> deptLevel = new HashMap<>(); for(OrgBussinessEnum orgBussin ...
- quartz.net定时任务框架详解
C#做定时任务:一是Timer:而是Quartz.net:本文就学习一下Quartz.net框架 Quartz.net非常的灵活,开发人员能用很少的代码就能完成“每隔一小时执行”.“每天2点执行”.“ ...