/*
推荐题型:三星
数学题,模拟计算过程
题意:一个表达式无括号,只有*和+两种运算符,求加入括号后表达式的最大和最小值。
思路:通过观察,最小值时所有的+号在一个级别。最大值时所有的*号在一个级别。然后模拟计算过程即可。
比如:3+11+4*1*13*12*8+3*3+8,最小值为3+11+(4*1*13*12*8)+(3*3)+8,最大值为(3+11+4)*1*13*12*(8+3)*(3+8)
题中max,min表示最终结果,max_pre,min_pre表示中间值
注意:①这里有一个小技巧,感悟一下,通过调整运算,使之与模拟达到更好的匹配。
②注意题中给出的数据,需要使用long long 或者double
*/
#include <cstdio>
#include <cstring>
const int nMax=100;
char line[nMax];
int len,p;
long long min,max;//②
long long min_pre,max_pre;
int get_dit()
{
int a=0;
for(;line[p]>='0' && line[p]<='9';p++)
a=a*10+line[p]-'0';
return a;
}
char get_opr()
{
return line[p++];
}
void solve()
{
min_pre=1;
max_pre=0;
int a=get_dit();//①无意中发现这个方法特别好
while(p!=len)
{
char b=get_opr();
if(b=='+')
{
min+=min_pre*a;
min_pre=1;
max_pre+=a;
}
else
{
max*=max_pre+a;
max_pre=0;
min_pre*=a;
}
a=get_dit();
}
min+=min_pre*a;
max*=max_pre+a;
}
int main()
{
//freopen("f://data.in","r",stdin);
int T;
scanf("%d",&T);
getchar();
while(T--)
{
min=0;
max=1;
p=0;
gets(line);
len=strlen(line);
solve();
printf("The maximum and minimum are %lld and %lld.\n",max,min);
}
return 0;
}
分享到:
相关推荐
activemq-camel-5.5.0.jar
标签:apache-camel-1.3.0.tar.gz,apache,camel,1.3.0.tar.gz包下载,依赖包
apache-camel 开发sample Apache Camel是一个基于规则路由和中介引擎,提供企业集成模式的Java对象(POJO)的实现,通过应用程序接口(或称为陈述式的Java领域特定语言(DSL))来配置路由和中介的规则。领域特定语言...
标签:apache-camel-1.6.0.tar.gz,apache,camel,1.6.0.tar.gz包下载,依赖包
jar包,亲测可用
标签:apache-camel-2.10.0-src.zip,apache,camel,2.10.0,src.zip包下载,依赖包
标签:apache-camel-1.2.0-sources.jar,apache,camel,1.2.0,sources,jar包下载,依赖包
标签:apache-camel-2.7.5.zip,apache,camel,2.7.5.zip包下载,依赖包
标签:apache-camel-1.6.3.tar.gz,apache,camel,1.6.3.tar.gz包下载,依赖包
标签:apache-camel-2.5.0.zip,apache,camel,2.5.0.zip包下载,依赖包
标签:apache-camel-1.0.0.zip,apache,camel,1.0.0.zip包下载,依赖包
标签:apache-camel-2.12.0-src.zip,apache,camel,2.12.0,src.zip包下载,依赖包
标签:apache-camel-1.1.0-sources.jar,apache,camel,1.1.0,sources,jar包下载,依赖包
标签:apache-camel-1.0.0.jar,apache,camel,1.0.0,jar包下载,依赖包
标签:apache-camel-1.6.1.tar.gz,apache,camel,1.6.1.tar.gz包下载,依赖包
apache-camel-2.7.1-fuse-00-27 官网下载实在太慢
标签:apache-camel-1.4.0.tar.gz,apache,camel,1.4.0.tar.gz包下载,依赖包
openlogic-camel-1.6.0-windows-src-1.zip
标签:apache-camel-1.6.0-src.zip,apache,camel,1.6.0,src.zip包下载,依赖包
标签:apache-camel-2.8.0.zip,apache,camel,2.8.0.zip包下载,依赖包