HDU - 5938 Four Operations
Posted 晓风微微
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU - 5938 Four Operations相关的知识,希望对你有一定的参考价值。
题意:
不想说
坑点;
初始答案应该设置为一个极小的负数,不能设置为0。
代码:
#include <bits/stdc++.h> using namespace std; #include<stack> #include<cstring> char s[30]; typedef long long LL; int a[30]; int ii=0; void deal(){ scanf("%s",s); int len=strlen(s); LL zans=-1e10; for (int i=0;i<len;i++) a[i]=s[i]-‘0‘; for (int q=0; ; q++){ LL ans,add,mins,mult,div; div=0; for (int i=len-1-q; i < len; i++) div = div * 10 + a[i]; mult=a[len-2-q]; mins=a[len-3-q]; LL cheng=mins*mult; LL chu=cheng/div; LL add1,ans1,ans2,add2; add1=ans1=ans2=add2=0; add1=a[len-4-q]; for (int i=0;i < len - 4 - q; i++) ans1=ans1*10+a[i]; ans1+=add1; add2=a[0]; for (int i=1;i<len-4-q+1;i++) ans2=ans2*10+a[i]; ans2+=add2; // cout<<q<<" "<<ans1<<" "<<ans2<<" "<<div<<endl; ans2=ans2-chu; ans1=ans1-chu; if (zans<ans1) zans=ans1; if (zans<ans2) zans=ans2; if (len-4-q <= 1) break; } printf("Case #%d: %I64d\n",ii,zans); } int main() { int t; scanf("%d",&t); while(t--){ ii++; deal(); } return 0; }
以上是关于HDU - 5938 Four Operations的主要内容,如果未能解决你的问题,请参考以下文章
HDU 5938 Four Operations 贪心(中国大学生程序设计竞赛(杭州))
HDU 5938 Four Operations 字符串处理,枚举,把数字字符串变为数值
[HDOJ5938]Four Operations(暴力,DFS)
Hdu 1197 Specialized Four-Digit Numbers