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 的祖先 ...
随机推荐
- 数据库安全之TDE列加密
透明数据加密(Transparent Data Encryption) TDE - 基于列的加密 由于有了Oracle的TDE-基于列的加密,你所要做的只是定义需要加密的列,Oracle将为包含加密列 ...
- 一、进程与信号之exec函数system函数
exec函数: 子进程调用exec函数执行另一个程序,exec函数进程完全由新程序代替,替换原有程序正文,数据,堆,栈段 #include <unistd.h> extern char * ...
- Git常用命令清单
创建 在指定目录创建工作仓库,未指定时在当前目录 git init [dir] 创建不包含工作区的仓库 git init --bare 克隆远程仓库到本地 git clone url 配置 git c ...
- SecureCRT连接vm中的ubuntu
如何使用SecureCRT连接ubuntu 用secureCRT连接Ubuntu是出现远程系统拒绝访问..经过一翻研究才知道Ubuntu上没有ssh.. 一下为连接过程. 1. 首先要明白什么是ssh ...
- 查询表达式Linq
LINQ简介 OO(面向对象)以外的疆域:信息的访问与整合.关系数据库与XML为其中的典型应用. .net Language Integrated Query(Linq):不采用特定关于数据库与XML ...
- 工作那些事(四)大公司VS小公司
都说大公司学做人,小公司学做事.这话有一定的道理,但是也不是绝对的.做人简单地说就是与人打交道,为人处世:做事,对我们来说就是实现需求,解决bug.有句话,是这么说的:有人的地方就有江湖,有江湖,就得 ...
- 定时关机命令——shutdown
通常会用到的定时关机命令有两种: Shutdown -s -t 36001小时后自己主动关机(3600秒) at 12:00 Shutdown -s 12:00自己主动关闭计算机 系统定时关机: Wi ...
- Sort List (使用归并排序的链表排序)
Sort a linked list in O(n log n) time using constant space complexity. C++代码的实现: #include<iostrea ...
- TinyXml快速入门(二)
在<TinyXml快速入门(一)>中我介绍了使用TinyXml库如何创建和打印xml文件,下面我介绍使用tinyxml库对xml文件进行一系列的操作,包括获取xml文件声明,查询指定节点. ...
- HTTP知识点总结
参考: HTTP协议详解:http://blog.csdn.net/gueter/article/details/1524447 图解HTTP学习笔记——简单的HTTP协议:http://networ ...