问题 F: 大爱线性表
2016-06-23 22:39
363 查看
前言必读!http://blog.csdn.net/hnust_v/article/details/51747743
问题 F: 大爱线性表
确切来讲这是一个细节题,注意把空白符读取干净,基本上没有什么问题了
问题 F: 大爱线性表
题目描述 不少参赛同学刚学数据结构,对线性表最是熟悉不过。这里我们给线性表增加两个特殊的操作,第一个是‘R’ 操作,表示逆转整个表,如果表长为L,原来的第i个元素变成第L-i+1个元素。第二个操作是‘D’,表示删除表的第一个元素,如果表为空,则返回一个“error”信息。我们可以给出一系列的‘R’ 和‘D’组合,例如“RDD”表示先逆转表,然后删除最前面的两个元素。 本题的任务是给定表和一个操作串S,求出执行S后的表,如果中途出现‘D’操作于空表,输出“error”。 输入 第一行是一个整数,表示有多少组数据。每组测试数据格式如下: (1)第一行是操作串S,有‘R’ 和‘D’组成,S的长度大于0,不超过100 000。 (2)第二行是整数n,表示初始时表中的元素个数。n的值不小于0,不超过100 000。 (3) 第三行是包含n个元素的表,用‘[’ 和 ‘]’括起来,元素之间用逗号分开。各元素值在[1,100]之间。 输出 对于每一组测试数据,输出执行S后的表(格式要求同输入)或者“error”。 样例输入 4 RDD 4 [1,2,3,4] DD 1 [42] RRD 6 [1,1,2,3,5,8] D 0 [] 样例输出 [2,1] error [1,2,3,5,8] error 提示
确切来讲这是一个细节题,注意把空白符读取干净,基本上没有什么问题了
#include <bits/stdc++.h> using namespace std; #define MAXN 100000 char Order[MAXN*2],None[1000]; int Mem[MAXN*2]; void Handle(int n) { if(!n) {getchar();gets(None);} else { getchar(); for(int i=1,a;i<=n;i++) { scanf("%*c%d",&a); Mem[i]=a; } gets(None); } } void Print(int n) { int lef=1,rig=n,is_right=1;int Count=n; bool aim=true; for(int i=0;Order[i]!='\0';i++) { if(Order[i]=='R') aim = !aim; if(Order[i]=='D') { if(!Count) {is_right=0;break;} if(aim == true) lef++; else rig--; Count--; } } if(is_right) { printf("["); if(aim) { for(int i=lef;i<=rig;i++) { printf("%d",Mem[i]); if(i!=rig) putchar(','); } printf("]\n"); } else { for(int i=rig;i>=lef;i--) { printf("%d",Mem[i]); if(i!=lef) putchar(','); } printf("]\n"); } } else printf("error\n"); } int main() { // freopen("F:\\test.txt","r",stdin); //freopen("E:\\tsst.txt","w",stdout); int T;scanf("%d",&T); for(int i=1;i<=T;i++) { scanf("%s",Order); int n;scanf("%d",&n); Handle(n);Print(n); } return 0; }
相关文章推荐
- logstash-input-jdbc实现mysql 与elasticsearch实时同步深入详解
- leetcode 206 Reverse Linked List
- 面试2
- 数字在排序数组中出现的次数
- 前端插件集合
- Python+Selenium进行UI自动化测试项目中,常用的小技巧4:日志打印,longging模块(控制台和文件同时输出)
- [android] android项目架构
- reactjs+echarts实现绘图
- 机器学习中的数据清洗与特征处理综述
- 手把手教你视频直播开发
- Eclipse Neon发布!
- java mail使用qq邮箱发邮件的配置方法
- leetcode 109 Convert Sorted List to Binary Search Tree
- github上传代码
- StringBuffer的capacity()方法
- Eclipse java swing 开发环境
- 问题 E: 交集
- JDBC代码
- Scrapy之日志文件的产生
- 远程过程调用RPC