NYOJ305 表达式求值
2014-02-19 13:24
267 查看
原题链接
这题要用到栈,由于递归与栈的亲密关系所以可以用递归。参考了原题的标程。
这题要用到栈,由于递归与栈的亲密关系所以可以用递归。参考了原题的标程。
#include <stdio.h> #include <string.h> char str[301]; int start; int max(int a, int b){ return a > b ? a : b; } int min(int a, int b){ return a < b ? a : b; } int val(){ int v, n; switch(str[start]){ case 'm': start += 4; if(str[start - 2] == 'n') return min(val(), val()); else return max(val(), val()); case 'a': start += 4; return val() + val(); case ',': case ')': ++start; return val(); default: sscanf(str + start, "%d%n", &v, &n); start += n; return v; } } int main(){ int t; scanf("%d", &t); while(t--){ scanf("%s", str); start = 0; printf("%d\n", val()); } return 0; }
相关文章推荐
- java中web.xml中的<listener> 详解
- [整理]Linux文件类型与ubuntu(LinuxMint)终端中文件颜色的含义
- C++ 关于声明,定义,类的定义,头文件作用,防止头文件在同一个编译单元重复引用,不具名空间
- thrift-0.9.0windows下编译
- 图的深度遍历
- UCanCode发布升级E-Form++可视化源码组件库2014 全新版 (V20.01)
- 重构指导之一
- 随身wifi wifi万能钥匙带来的安全问题
- 2107 图的深度遍历
- IE图片滚轮放大缩小图片
- 粗糙的iOS笔记之数据存储
- “当前不会命中断点。源代码与原始版本不同”的问题的解决方案
- 11章 继承和多态
- 为什么 ["1", "2", "3"].map(parseInt) 返回 [1,NaN,NaN]?【转】
- UVa 40均匀的生成器
- Maven 入门 (听Q有感笔记)
- 使用吉布斯采样求解LDA模型
- Maven 入门 (听Qunar有感笔记)
- web design tools
- 黑马程序员----IO(Properties集合)