题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5938

题意:给一个不超过20位并且大于2位的数字字符串(只包含1-9)然后找到适当的位置依次放入"+-*/"四个符号,然后求能构成的最大的数;

可以看成是 A+B-C*D/E这种形式,要想让结果最大,那么A+B要尽可能大,C*D/E要尽可能小;

所以C和D只能是一位数,那么C*D的结果就是1位数或者2位数,因此E取3位数时C*D/E一定是0了,但是这不一定是最大的结果, 所以我们可以枚举E为1,2,3位数时的三种情况, 取最大值;

这样就确定了C,D,E和AB的长度;就可以直接求了;

#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
typedef long long LL;
const int N = ;
const int INF = 0x3f3f3f3f;
const double eps = 1e-; char s[N];
int len; LL solve(int n)
{
LL Max = ;
for(int i=; i<=n-; i++) ///a由i位数构成;
{
LL a = , b = ;
for(int j=; j<i; j++)
a = a* + s[j]-'';
for(int j=i; j<n; j++)
b = b* + s[j]-'';
Max = max(Max, a+b);
}
return Max;
} LL Find(int k)/// 表示/号后面有k位数;
{
if(len-k < )///要剩下4位以上才可以;
return -INF; LL c, d, e = ;///求 a + b - c*d/e;
for(int i=len-k; i<len; i++)
e = e* + s[i]-''; d = s[len-k-]-'';
c = s[len-k-]-''; LL m = solve(len-k-);///求前面的数能组成的最大的a+b存到m中; return (m-c*d/e);
} int main()
{
int T, t = ;
scanf("%d", &T);
while(T --)
{
scanf("%s", s); len = strlen(s);
LL ans = -INF; ans = max(ans, Find());
ans = max(ans, Find());
ans = max(ans, Find()); printf("Case #%d: %I64d\n", t++, ans);
}
return ;
}

Four Operations---hdu5938(暴力)的更多相关文章

  1. [HDOJ5938]Four Operations(暴力,DFS)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5938 题意:给出一个长度最大是2020的数字串, 你要把数字串划分成55段, 依次填入'+', '-' ...

  2. ACM程序设计选修课——1065: Operations on Grids(暴力字符串)

    1065: Operations on Grids Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 17  Solved: 4 [Submit][Sta ...

  3. 开源服务专题之------ssh防止暴力破解及fail2ban的使用方法

    15年出现的JAVA反序列化漏洞,另一个是redis配置不当导致机器入侵.只要redis是用root启动的并且未授权的话,就可以通过set方式直接写入一个authorized_keys到系统的/roo ...

  4. [暴力搜索] POJ 3087 Shuffle'm Up

    Shuffle'm Up Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10003   Accepted: 4631 Des ...

  5. Codeforces Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) B. Batch Sort(暴力)

    传送门 Description You are given a table consisting of n rows and m columns. Numbers in each row form a ...

  6. HDU4288:Coder(线段树单点更新版 && 暴力版)

    Problem Description In mathematics and computer science, an algorithm describes a set of procedures ...

  7. hdu 5475 An easy problem(暴力 || 线段树区间单点更新)

    http://acm.hdu.edu.cn/showproblem.php?pid=5475 An easy problem Time Limit: 8000/5000 MS (Java/Others ...

  8. Codeforces Round #312 (Div. 2) C. Amr and Chemistry 暴力

    C. Amr and Chemistry Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/558/ ...

  9. TZOJ 4325 RMQ with Shifts(线段树查询最小,暴力更新)

    描述 In the traditional RMQ (Range Minimum Query) problem, we have a static array A. Then for each que ...

  10. HDU 6315 Naive Operations(线段树区间整除区间)

    Problem DescriptionIn a galaxy far, far away, there are two integer sequence a and b of length n.b i ...

随机推荐

  1. BZOJ2707 : [SDOI2012]走迷宫

    首先求出SCC缩点,E[T]=0,按拓扑序计算 对于无边连出的块,如果不是T所在块,则称该块是死路块 对于一个块,如果其中的点连出的边是死路块,则它也是死路块 否则对于每块进行高斯消元求出期望 如果S ...

  2. Robotium查找指定控件

    一.通过ID查找控件 Activity act=solo.getCurrentActivity(): int id=act.getResources().getIdentifier("id名 ...

  3. TYVJ P1047 乘积最大 Label:dp

    背景 NOIP 2000 普及组 第三道 描述 今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力 ...

  4. [Cocos2d-x For WP8]Particle粒子系统

    在游戏中,经常要实现一些真实的效果,这些效果(如,火焰,雪花等)都是由大量微粒组合而形成的.为了在游戏中实现这种效果,我们必须引进粒子系统,粒子系统中需要包括四个部分:粒子对象,运动规律,随机性,粒子 ...

  5. UIWebView弹出键盘按钮显示中文

    UIWebView是一个很常用的视图,一般用来加载网页,比如百度: 点击文本框输入框后,会弹出一个带有toolbar的键盘,toolbar中有3个辅助按钮 有了这3个按钮,是方便很多,但默认是英文的, ...

  6. phpunit安装参考

    我主要参考看PHPunit参考手册https://phpunit.de/manual/current/zh_cn/installation.html 然后按照测试成功否检验,参考了http://blo ...

  7. Grunt - 前端开发所见即所得

    首先要安装全局的grunt-cli sudo npm install grunt-cli -g 1,项目中初始化npm文件,项目名不要和[关键词]如grunt重复,一直回车即可 npm init 2, ...

  8. [转]C#开发ActiveX控件,.NET开发OCX控件案例

    引自:百度   http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...

  9. sonarqube  安装配置

    http:// www.sonarqube.org MySQL Unsupported mysql version: 5.5. Minimal supported version is 5.6. Th ...

  10. ionic 写一个五星评价(非指令)

    Controller里的代码: .controller('evaluateCtrl', function($scope, $state, $stateParams, $ionicPopup,$ioni ...