COJ 0802 非传统题(二)
(颓了这么多天是时候干点正事了QAQ)
| 非传统题(二) |
| 难度级别:B; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B |
|
试题描述
|
|
还是很久很久以前,chx丢失了一段程序,然而就在今天,他找到了这段程序!!! 但是很可惜因为刚刚经历了中考,智商被降为0,因此他不会读这段程序了,只是隐约知道这段程序好像是c++程序,现在请你来帮忙翻译给chx听并通过测试数据~ 当然了,chx是不会让你写一个dev c++的啦,你要实现的功能请看其他说明。 |
|
输入
|
|
呵呵
|
|
输出
|
|
呵呵
|
|
输入示例
|
|
样例1:
#include<iostream> using namespace std; int main() { int a,b; cin>>a; cin>>b; cout<<a+b; } 样例2: |
|
输出示例
|
|
样例1:
如果萌萌哒测评机给了你3,4,那么你就要输出7 如果萌萌哒测评机给了你2,6,那么你就要输出8 样例2: |
|
其他说明
|
|
本题采用特殊评测Special Judge,测评机将会贴心的为你准备好你要cin的数据,所以当你识别到cin语句的时候请大胆的cin吧!具体请看样例输出。
接下来为了简化题目,做如下规定: |
题解:简单的表达式处理,为"未来程序·改"做准备吧QAQ
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<queue>
#include<cstring>
#define PAU putchar(' ')
#define ENT putchar('\n')
using namespace std;
const int maxn=+;
//int 0 ,+ 1,- , cout<< 5,cin>> 6,
bool i[];int a[maxn];
void getl(){char ch=getchar();while(ch!='\n') ch=getchar();return;}
void p(int t){while(t--)getchar();return;}
char ch;
void pass(){while(ch==' '||ch=='\n') ch=getchar();return;}
inline int read(){
int x=,sig=;char ch=getchar();
while(!isdigit(ch)){if(ch=='-')sig=-;ch=getchar();}
while(isdigit(ch))x=*x+ch-'',ch=getchar();
return x*=sig;
}
inline void write(int x){
if(x==){putchar('');return;}if(x<)putchar('-'),x=-x;
int len=,buf[];while(x)buf[len++]=x%,x/=;
for(int i=len-;i>=;i--)putchar(buf[i]+'');return;
}
void init(){
getl();getl();getl();getl();
static char cal[maxn];ch=getchar();
while(ch!='}'){
pass();
if(ch=='i'){
p();ch=getchar();
if(i[ch]){puts("compile error!");return;}
i[(int)ch]=true;p();
}
else if(ch=='c'){
ch=getchar();
if(ch=='i'){
p();ch=getchar();
if(!i[ch]){puts("compile error!");return;}
//cin>>a[ch];pass();
a[ch]=read();pass();
p();
}
else{
p();ch=getchar();
if(!i[ch]){puts("compile error!");return;}
int tmp=a[ch];
char cal=getchar();
if(cal==';') write(tmp);
else{
ch=getchar();
if(!i[ch]){puts("compile error!");return;}
int e=a[ch];
if(cal=='+') write(tmp+e);
else if(cal=='-') write(tmp-e);
else if(cal=='*') write(tmp*e);
else write(tmp/e);
p();
}
}
} pass();if(ch=='}')return;ch=getchar();
}
return;
}
void work(){
return;
}
void print(){
return;
}
int main(){init();work();print();return ;}
COJ 0802 非传统题(二)的更多相关文章
- COJ 0801 非传统题(一)
非传统题(一) 难度级别:A: 运行时间限制:1000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 大家好!我是COJ第一道非传统题,是不是感觉非常的excite ...
- 非传统题【A002】
[A002]非传统题[难度A]————————————————————————————————————————————————————————————————————————————————————— ...
- 【JavaScript】Leetcode每日一题-二叉搜索树的范围和
[JavaScript]Leetcode每日一题-二叉搜索树的范围和 [题目描述] 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和. 示例1: 输入: ...
- 【python】Leetcode每日一题-二叉搜索树节点最小距离
[python]Leetcode每日一题-二叉搜索树节点最小距离 [题目描述] 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 示例1: 输入:root = [4 ...
- 【python】Leetcode每日一题-二叉搜索迭代器
[python]Leetcode每日一题-二叉搜索迭代器 [题目描述] 实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器: BSTIterator(T ...
- 《剑指Offer》题二十一~题三十
二十一.调整数组顺序使奇数位于偶数前面 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 测试用例: 功能测试:输入数组中的奇 ...
- 《剑指Offer》题十一~题二十
十一.旋转数组的最小数字 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如,数组{3, 4, 5, 1, 2}为{ ...
- HDU——1005Number Sequence(模版题 二维矩阵快速幂+操作符重载)
Number Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- [LC]235题 二叉搜索树的最近公共祖先 (树)(递归)
①题目 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p.q 的祖先 ...
随机推荐
- MySQL慢查询(二) - pt-query-digest详解慢查询日志
一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdu ...
- JavaScript实现自定义短信模板
自定义短信模板,要求:可以插入关键字,当然是可以在点击到文本域中的任意位置,关键字以中括号包裹的形式出现[关键字],删除关键字要整个关键都删掉,而不是自己全删除. 详细在简书中 http://www. ...
- 《JAVA课程设计》实训第四天——《猜猜看》游戏
第四天,本来想进一步去改进<猜猜看>游戏的.可是非常多问题都不理解.也不熟悉怎么去弄到连接数据库.统计猜对次数,所以并没有进行再多的改动. 基本上就是这种执行结果了 import java ...
- JavaScript高级编程II
原文地址: http://www.onlamp.com/pub/a/onlamp/2007/08/23/advanced-javascript-ii.html?page=1 在前面的文章中, ...
- C++ STL set集合容器
汇总了一些set的常用语句,部分参考了这篇:http://blog.163.com/jackie_howe/blog/static/199491347201231691525484/ #include ...
- eclipse-android-activity_main/fragment_main文件处理
android新建工程后,在res/layout/下有两个文件,之前用studio的时候貌似没有,只有一个文件,然后再测试Activity切换的时候,一直在纠结这个问题,下面是解决方法: 1)将fra ...
- return;,return false,return true----------浅析
作为新手,一直没注意他们的区别,今天特意在网上搜了搜. 1: retuen; 无返回值,表示终止函数往下执行 2: return true; a.返回 bool值 真 b.提交表单 针对<but ...
- elasticsearch中的概念简述
Near Realtime(NRT) Elasticsearch接近实时.从为一个文档建立索引到可被搜索,正常情况下有1秒延迟. Cluster 一个集群有一个唯一的名字,默认是"elast ...
- Android开发手记(11) 滑动条SeekBar
安卓滑动条的操作特别简单,通过getProgress()可以获得SeekBar的位置,通过setProgress(int progress)可以设置SeekBar的位置.要想动态获取用户对SeekBa ...
- Oracle数据库锁表的查询方法以及解锁的方法
1,锁表语句简单查询方法 select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session ...