UVA 10700 Camel trading
2011-09-22 09:40
309 查看
UVA_10700
我们可以猜到最大值一定是先算和后算积,最小值一定是先算积后算和,因为a*b+c<=a*(b+c)。
此外,这个题目数据有可能比较大,所以要采用long long int或者double来处理数据。
我们可以猜到最大值一定是先算和后算积,最小值一定是先算积后算和,因为a*b+c<=a*(b+c)。
此外,这个题目数据有可能比较大,所以要采用long long int或者double来处理数据。
#include<stdio.h> #include<string.h> #include<ctype.h> char b[1000]; double stack[10000]; int main() { int i,j,k,t,head,top; double d,min,max,temp; char flag; scanf("%d",&t); while(t--) { scanf("%s",b); k=strlen(b); head=top=0; min=0.0; b[k]='+'; for(i=0;i<=k;i++) if(!isdigit(b[i])) { flag=b[i]; b[i]='\0'; sscanf(&b[head],"%lf",&d); b[i]=flag; stack[top++]=d; if(flag=='+') { temp=1.0; while(top) { top--; temp*=stack[top]; } min+=temp; } head=i+1; } temp=0.0; head=0; max=1.0; b[k]='*'; for(i=0;i<=k;i++) if(!isdigit(b[i])) { flag=b[i]; b[i]='\0'; sscanf(&b[head],"%lf",&d); temp+=d; if(flag=='*') { max*=temp; temp=0.0; } head=i+1; } printf("The maximum and minimum are %.0f and %.0f.\n",max,min); } return 0; }
相关文章推荐
- UVA 10700 Camel trading
- uva 10700 - Camel trading
- UVA 10700 Camel trading 贪心(栈的使用)
- UVa 10700 - Camel trading
- UVA 10700 Camel trading
- uva 10700 Camel trading
- [贪心&&栈模拟]uva10700 Camel trading
- UVA - 10700 Camel trading
- UVA 10700 Camel trading
- uva 10700 - Camel trading
- uva 10700 Camel trading (水贪心+栈)
- uva10700- Camel trading
- UVa 10700 - Camel trading
- uva10700 Camel trading
- uva 10700 Camel trading
- UVA 10700 Camel trading 无括号的表达式 贪心
- UVA - 10700 Camel trading
- UVa 10700 - Camel trading
- UVA - 10700 Camel trading
- UVA 10700 - Camel trading