HDU5938-Four Operations
来源:互联网 发布:linux 机器重启时间 编辑:程序博客网 时间:2024/06/16 01:48
Four Operations
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1315 Accepted Submission(s): 397
Problem Description
Little Ruins is a studious boy, recently he learned the four operations!
Now he want to use four operations to generate a number, he takes a string which only contains digits '1' - '9', and split it into5 intervals and add the four operations'+', '-', '*' and '/' in order, then calculate the result(/ used as integer division).
Now please help him to get the largest result.
Now he want to use four operations to generate a number, he takes a string which only contains digits '1' - '9', and split it into
Now please help him to get the largest result.
Input
First line contains an integer T , which indicates the number of test cases.
Every test contains one line with a string only contains digits '1'-'9'.
Limits
1≤T≤105
5≤length of string≤20
Every test contains one line with a string only contains digits '1'-'9'.
Limits
Output
For every test case, you should output 'Case #x: y', where x indicates the case number and counts from 1 and y is the result.
Sample Input
112345
Sample Output
Case #1: 1
Source
2016年中国大学生程序设计竞赛(杭州)
题意:给一个只含'1'~'9'的字符串,要求按顺序插入'+','-','*','/',求运算结果中的最大值
解题思路:要求运行结果最大,设为a+b-c*d/e很明显要让前面a+b尽量大即a<10或b<10以及cde的时候e要尽量大c*d尽量小即c<10和d<10,那么只需要枚举-号的位置就能确定运算答案
#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <map>#include <set>using namespace std;#define LL long longconst int INF=0x3f3f3f3f;int n;char ch[100];LL x[25][25];LL get(int x, int y){ LL ans = 0; for(int i = x; i <= y; i++) ans = ans*10+ch[i]-'0'; return ans;}int main(){ int t,cas=0; scanf("%d",&t); while(t--) { printf("Case #%d: ", ++cas); scanf("%s", ch); int len = strlen(ch); for(int i = 0; i < len; i++) for(int j = i; j < len; j++) x[i][j] = get(i, j); LL ans = -INF; for(int i = 0; i < len - 4; i++) { for(int j = i+1; j < len - 3; j++) { LL a = x[0][i]; LL b = x[i+1][j]; LL c = x[j+1][j+1]; LL d = x[j+2][j+2]; LL e = x[j+3][len-1]; ans=max(ans,a+b-c*d/e); } } printf("%lld\n", ans); } return 0;}
阅读全文
0 0
- hdu5938 Four Operations 贪心
- hdu5938 Four Operations(贪心)
- HDU5938-Four Operations
- HDU5938 Four Operations
- HDU5938.Four Operations
- CCPC杭州站 HDU5938 Four Operations 贪心 枚举
- HDU5938 Four Operations (模拟) 2016年中国大学生程序设计竞赛(杭州)
- HDU 5938 Four Operations
- hdu 5938 Four Operations
- hdu 5938 Four Operations
- Four Operations HDU
- hdu 5938 Four Operations【贪心】
- hdu 5938 Four Operations 模拟
- HDU 5938 Four Operations 贪心
- HDU 5938 Four Operations 模拟
- HDU 5938 Four Operations(思维)
- HDU-5938 Four Operations(字符串处理)
- HDU 5938 Four Operations 想法题
- 自己动手写一个java版QQ
- docker_docker hub镜像加速
- Android自定义CIrcleView
- docker_相关操作
- BZOJ 1222: [HNOI2001]产品加工 dp
- HDU5938-Four Operations
- 表单标签form
- kubernetes之命令行提示(kubectl)神器kube-shell
- Java正则表达式
- Android条形图
- docker_Dockerfile构建镜像
- Servlet初探和生命周期
- 1.环境搭建
- mavne build