蓝桥杯练习系统(算法训练)ALGO-952 简易编辑器

news/2024/10/18 9:18:19/

资源限制

内存限制:256.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s

问题描述

  你要实现一个简易文本编辑器,每个字符是一个整数,程序要完成一下操作:
  P 光标左移,如果在最左端则不动
  N 光标右移,如果在最右端则不动
  E 删除光标左侧的一个字符
  R 将光标左侧内容逆序,光标移到极左
  r 将光标右侧内容逆序,光标移到极右
  I x 插入x

样例输入

I 12
I 56
I 89
P
r
R
E

样例输出

89
56
12

数据规模和约定

  操作数少于10000

#include<iostream>
#include<list>
#include<algorithm>
using namespace std;
list<int> text;
list<int>::iterator cursor=text.begin();
int main(){int n;cin>>n;while(n--){char op;cin>>op;if(op=='P'){if(cursor!=text.begin()){cursor--;}}else if(op=='N'){if(cursor!=text.end()){cursor++;}}else if(op=='E'){if(cursor!=text.begin()){list<int>::iterator pre=--cursor;text.erase(pre);}}else if(op=='R'){reverse(text.begin(),cursor);cursor=text.begin();}else if(op=='r'){reverse(cursor,text.end());cursor=text.end();			}else if(op=='I'){int x;cin>>x;text.insert(cursor,x);//list为双向链表,插入操作将元素插入到cursor指向的位置之前,而不是之后。cursor的位置也随之变化 因此才不需要cursor++ }}for(list<int>::iterator it=text.begin();it!=text.end();it++){cout<<*it<<endl;} return 0;
}


http://www.ppmy.cn/news/1448448.html

相关文章

问题集锦三

1.简述static和final的用法&#xff1f; static&#xff1a;修饰属性&#xff0c;方法&#xff0c;代码块 &#xff08;1&#xff09;静态属性&#xff1a;也可叫类变量 类名.属性名 来访问 &#xff08;共有的类变量与对象无关&#xff0c;只和类有关&#xff09; 注意&am…

Vue 组件化开发、根组件

Vue开发的两种方式&#xff1a; 核心包传统开发模式&#xff1a;基于html/css/js文件&#xff0c;直接引入核心包&#xff0c;开发Vue工程化开发模式&#xff1a;基于构建工具的环境中开发Vue 这里选择Vue cli脚手架 进行开发&#xff0c;搜索教程自行下载。 组件化开发 一个页…

SpringBoot日志管理

一.Logback SpringBoot默认使用Logback组件作为日志管理。 Logback是log4j创始人设计的一个开源日志组件。在SpringBoot中已经整合了Logback的依赖&#xff0c;所以我们不需要额外的添加其他依赖,这些日志格式在我们开发过程中是不需要开发人员自己写的&#xff0c;直接cv拿过来…

leetcode40

给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a;解集不能包含重复的组合。 示例 1: 输入: candidates [10,1,2,7,6…

ElasticSearch教程入门到精通——第四部分(基于ELK技术栈elasticsearch 7.x新特性)

ElasticSearch教程入门到精通——第四部分&#xff08;基于ELK技术栈elasticsearch 7.x新特性&#xff09; 1. Elasticsearch进阶1.1 核心概念1.1.1 索引Index1.1.1.1 索引创建原则1.1.1.2 Inverted Index 1.1.2 类型Type1.1.3 文档Document1.1.4 字段Field1.1.5 映射Mapping1.…

分类规则挖掘(二)

目录 三、决策树分类方法&#xff08;一&#xff09;决策树生成框架&#xff08;二&#xff09;ID3分类方法&#xff08;三&#xff09;决策树的剪枝&#xff08;四&#xff09;C4.5算法 三、决策树分类方法 决策树 (Decision Tree) 是从一组无次序、无规则&#xff0c;但有类别…

配置SAM模型

配置的时候遇到一个问题&#xff1a; 报错&#xff1a; CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling cublasLtMatmul( ltHandle, computeDesc.descriptor(), &alpha_val, mat1_ptr, Adesc.descriptor(), mat2_ptr, Bdesc.descriptor(), &beta_val, resul…

python 怎么调用R

如何在python中调用R&#xff1f;这其中包括了如何调用R的对象&#xff08;函数和包&#xff09;&#xff0c;R和python的对象如何互相转换&#xff0c;以及如何调用R的脚本&#xff08;外界参数的输入&#xff09;。python提供了一个模块rpy2&#xff0c;可以较好地完成这项工…