题目链接: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. 【BZOJ】1076: [SCOI2008]奖励关(状压dp+数学期望)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1076 有时候人蠢还真是蠢.一开始我看不懂期望啊..白书上其实讲得很详细的,什么全概率,全期望(这个压 ...

  2. jquery 获取input radio/checkbox 的值 【注意写法】

    今天,在用jquery获取页面上radio值的时候,radio给出了默认值,但是无论如何修改值,radio始终是默认值,去掉默认值的时候,页面上又报出了undefined的错误.经过几番搜索,发现不同 ...

  3. hdu-acm steps Max sum

    /*求最大字段和,d[i]表示已 i 结尾(字段和中包含 i )在 a[1..i] 上的最大和,d[i]=(d[i-1]+a[i]>a[i])?d[i-1]+a[i]:a[i];max = {d ...

  4. 离线更新SEPM服务器的病毒定义库

    1. 从http://www.symantec.com/security_response/definitions/download/detail.jsp?gid=sep下载JDB文件    2. 将 ...

  5. node.js 资料

    supervison可以调试nodejs,并能自动布署 键入命令: npm -g install supervisor

  6. node系列:琐碎备忘

    cmd 全局与本地路径 查看:默认 查看本地路径:npm config get cache,默认和nodejs安装目录同一目录 查看全局路径:npm config get prefix,默认c盘app ...

  7. Linux 计划任务 Crontab 笔记与总结(2)Crontab 的基本组成与配置

    [Crontab 的基本组成] ① 系统服务 CROND:每分钟都会从配置文件刷新定时任务 ② 配置文件 :文件方式设置定时任务 ③ 配置工具 crontab:用途调整定时任务 [配置文件的配置文件格 ...

  8. 送给和我一样曾经浮躁过的PHP程序猿

    送给和我一样曾经浮躁过的PHP程序猿   2012年偶决定开始写博客了,不为别的,就希望可以通过博客记录我的成长历程,同时也希望可以帮助一些刚毕业,刚入行业的兄弟姐们 们.我们是一群充满浮躁.抱怨.迷 ...

  9. Nginx模块fastcgi_cache的几个注意点

    fastcgi响应http请求的结果中,响应头包括Expires、Cache-Control、Set-Cookie三个,都会可能不被cache. thinkphp3.0禁止session自动启动 co ...

  10. PHP学习(五)----jQuery和JSON数据

    对于jQuery: jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程.