NTOJ305表达式求值
来源:互联网 发布:网站的数据库是什么 编辑:程序博客网 时间:2024/05/30 04:29
NTOJ35
这个题是第九届ACM的热身赛。
要点: add( ,)可以想成树 ,左右分别递归即可。
add 只要检测到a即可 i直接后移
( , ) 这几个符合可以不考虑,i直接后移
#include<stdio.h>#include<string.h>char an[310];int i,len;int sw( int k ){if(i >=len )return 0;int sum = 0,l = 0,r = 0 ;if(an[i] == 'a'){i=i+4; k = 1; // printf("1->");}else if(an[i] == 'm'){ i++; if(an[i] == 'i') k = 2; else k = 3; i = i+3;// printf("2->");} else if(an[i] >= '0' && an[i]<='9'){ while(an[i] >= '0' && an[i]<='9') { sum = sum*10 + (an[i]-'0'); i++; }// printf("3->"); return sum; } l = sw(0); i++; //, 跳过 r = sw(0); if(k == 1) sum = l+r; else if(k == 2) sum = l<r?l:r; else sum = l>r?l:r; i++; // ) 跳过 return sum;}int main(){int n,j;scanf("%d",&n);for(j = 0;j<n;j++){i = 0;scanf("%s",&an); len = strlen(an);printf("%d\n",sw(0));}return 0;}
0 0
- NTOJ305表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 支付行业(银联/支付宝/微信支付)
- 开源性能测试工具--Jmeter介绍+安装说明!!!
- android 开机向导中wifi界面无法跳过,
- angularJs 个人初探笔记
- Android中开发环境的配置(AS环境)
- NTOJ305表达式求值
- Love2D conf配置文件
- JS类与继承
- Android学习之路
- http请求的步骤
- 《数学之美》总结(第1章~第3章)
- LeetCode 461. Hamming Distance
- C语言strtok()函数:字符串分割
- 学习记录