[HDOJ5938]Four Operations(暴力,DFS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5938
题意:给出一个长度最大是2020
的数字串, 你要把数字串划分成55
段, 依次填入’+’, ’-’, ’*’, ’/’, 问能得到的最大结果。
想让这个结果最大,那尽可能让减号左边的数最大,只需要关心左边的第一位是一个数还是最后一位是一个数,后面的枚举*和/的位置就行了。
#include <bits/stdc++.h>
using namespace std; typedef long long LL;
const int maxn = ;
LL ret, dret;
int n;
char s[maxn]; void dfs(int pos, int cnt, LL c, LL d, LL e) {
if(pos >= n) return;
if(cnt == ) {
dret = min(dret, c * d / e);
return;
}
if(cnt == ) {
LL tmp = ;
for(int i = pos; i < n; i++) {
tmp *= ; tmp = tmp + s[i] - '';
dfs(i+,cnt+, tmp,d,e);
}
}
if(cnt == ) {
LL tmp = ;
for(int i = pos; i < n; i++) {
tmp *= ; tmp = tmp + s[i] - '';
dfs(i+,cnt+,c,tmp,e);
} }
if(cnt == ) {
LL tmp = ;
for(int i = pos; i < n; i++) {
tmp *= ; tmp = tmp + s[i] - '';
}
dfs(-,cnt+,c,d,tmp);
}
} int main() {
// freopen("in", "r", stdin);
int T, _ = ;
scanf("%d", &T);
while(T--) {
scanf("%s", s);
n = strlen(s);
ret = -((LL) << );
for(int i = ; i < n-; i++) {
LL x = ;
LL y = ;
LL s1 = , s2 = , ss = ;
int j = ;
while(j < i) {
x *= ;
x = x + s[j++] - '';
}
y = s[i] - '';
s1 = x + y;
j = ;
x = s[] - ''; y = ;
while(j <= i) {
y *= ;
y = y + s[j++] - '';
}
s2 = x + y;
ss = max(s1, s2);
dret = (LL) << ;
dfs(i+, , , , );
ret = max(ret, ss-dret);
}
printf("Case #%d: ", _++);
printf("%I64d\n", ret);
}
return ;
}
[HDOJ5938]Four Operations(暴力,DFS)的更多相关文章
- hihoCoder 1185 连通性·三(Tarjan缩点+暴力DFS)
#1185 : 连通性·三 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 暑假到了!!小Hi和小Ho为了体验生活,来到了住在大草原的约翰家.今天一大早,约翰因为有事要出 ...
- Strange Country II 暴力dfs
这题点的个数(<=50)有限, 所以可以纯暴力DFS去搜索 //#pragma comment(linker, "/STACK:16777216") //for c++ Co ...
- UVA129 暴力dfs,有许多值得学习的代码
紫书195 题目大意:给一个困难的串,困难的串的定义就是里面没有重复的串. 思路:不需要重新对之前的串进行判重,只需要对当前的加入的字符进行改变即可. 因为是判断字典序第k个的字符串,所以要多一个全局 ...
- 2018杭电多校第五场1002(暴力DFS【数位】,剪枝)
//never use translation#include<bits/stdc++.h>using namespace std;int k;char a[20];//储存每个数的数值i ...
- A. The Fault in Our Cubes 暴力dfs
http://codeforces.com/gym/101257/problem/A 把它固定在(0,0, 0)到(2, 2, 2)上,每次都暴力dfs检查,不会超时的,因为规定在这个空间上,一不行, ...
- Codeforces Round #359 (Div. 2) C. Robbers' watch (暴力DFS)
题目链接:http://codeforces.com/problemset/problem/686/C 给你n和m,问你有多少对(a, b) 满足0<=a <n 且 0 <=b &l ...
- UVA 185(暴力DFS)
Roman Numerals The original system of writing numbers used by the early Romans was simple but cum ...
- 1172: 单词接龙(XCOJ 暴力DFS)
1172: 单词接龙 时间限制: 1 Sec 内存限制: 128 MB提交: 12 解决: 5 标签提交统计讨论版 题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词 ...
- 1506 传话 (暴力DFS或者Tarjan模板题)
题目描述 Description 一个朋友网络,如果a认识b,那么如果a第一次收到某个消息,那么会把这个消息传给b,以及所有a认识的人. 如果a认识b,b不一定认识a. 所有人从1到n编号,给出所有“ ...
随机推荐
- hadoop 启动停止命令
1 批量启动与停止 1.1 Start-all.sh # Start all hadoop daemons. Run this on master node. bin=`dirname ...
- SSAS维度上有多个表的注意事项
在Sql Server Analysis Service中维度上有多张表(大于一张表)时,一定要注意将第二张表开始用到维度属性中的KeyColumns下的NullProcessing要设置为Unkno ...
- Delphi 取得桌面文件夹的路径和取得我的文档的路径
Uses Windows,Registry; function GetShellFolders(strDir: string): string; const regPath = '\Software\ ...
- linux设备驱动归纳总结(四):5.多处理器下的竞态和并发【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-67673.html linux设备驱动归纳总结(四):5.多处理器下的竞态和并发 xxxxxxxxxx ...
- 【secureCRT】永久设置背景色和文字颜色
- PHP Deprecated: Comments starting with '#' are deprecated in *.ini 警告解决办法
新装的ubuntu 10.04系统,使用新立得装的PHP,但是每次我在命令行下执行php脚本时都会出如下的警告信息: PHP Deprecated: Comments starting with ' ...
- 5.24 Declaring Attributes of Functions【转】
转自:https://gcc.gnu.org/onlinedocs/gcc-4.0.0/gcc/Function-Attributes.html 5.24 Declaring Attributes o ...
- PHP删除MySQL数据库下的所有数据表
<?php //[数据无价,请谨慎操作!] $hostname ='localhost'; $userid = 'username'; $password = 'password'; $d ...
- oracle进制-10进制跟2进制互转
CREATE OR REPLACE FUNCTION NUMBER_TO_BIT(V_NUM NUMBER) RETURN VARCHAR IS V_RTN );--注意返回列长度 V_N1 NUMB ...
- HDU:Integer Inquiry
#include"stdio.h" #include"stdlib.h" #include"string.h" #define N 105 ...