题目描述

有以下三种操作。

(1)COPY l r(0<=l<=r<n),n代表s串的长度。这个表示将s串从l到r的序列复制到剪贴板t里面,覆盖t字符串。

例如s为abcde    t为pqr

执行COPY 1 2变为

s为abcde     t为bc

(2)CUT l r(0<=l<=r<n),n代表s串的长度。这个表示将s串从l到r的序列剪切到剪贴板t里面(删除s串中的l到r的序列),覆盖t字符串。

例如s为abcde    t为pqr

执行CUT 1 2变为

s为ade     t为bc

(3)PASTE p(0<=p<n),n代表s串的长度。这个表示将t串插入到s串p位置的后面。t保持不变。

例如s为abcde    t为pqr

执行PASTE 1 变为

s为abpqrcde      t为pqr

输入

输入正整数N,表示N例测试。首先给你s串,再给你一个m,然后给你m个操作。

输出

对每个操作,输出操作后的s串。

样例输入

abcde
5
CUT 1 2
COPY 0 1
PASTE 1
PASTE 1
CUT 1 3

样例输出

ade
ade
adade
adadade
aade

来源

2016机考D题

#include<iostream>
#include<cstring>
#define maxn 1005
using namespace std; char s[maxn];
char t[maxn];
char tmp[maxn];
char op[]; int main()
{
int m,i;
int l,r,p; while(cin>>s)
{
cin>>m;
strcpy(t,"");
while(m--)
{
cin>>op;
if(strcmp(op,"COPY")==) //COPY
{
cin>>l>>r;
for(i=l; i<=r; i++)
{
tmp[i-l]=s[i];
}
tmp[r-l+]='\0';
strcpy(t,tmp);
cout<<s<<endl;
}
else if(strcmp(op,"CUT")==)
{
cin>>l>>r;
for(i=l; i<=r; i++)
{
tmp[i-l]=s[i];
}
tmp[r-l+]='\0';
strcpy(t,tmp); strcpy(tmp,""); int len1=strlen(s);
int len2=r-l+;
for(i=; i<l; i++)
tmp[i]=s[i];
for(i=l; i<len1-len2; i++)
tmp[i]=s[i+len2];
tmp[i]='\0';
strcpy(s,tmp);
cout<<s<<endl;
}
else
{
cin>>p;
int len1=strlen(s);
int len2=strlen(t);
for(i=; i<=p; i++)
tmp[i]=s[i];
for(i=p+; i<=p+len2; i++)
tmp[i]=t[i-p-];
for(i=p++len2; i<len1+len2; i++)
tmp[i]=s[i-len2];
tmp[i]='\0';
strcpy(s,tmp);
cout<<s<<endl;
}
}
}
return ;
}

最新文章

  1. public, protected and private inheritance in C++
  2. iOS 阶段学习第25天笔记(iOS沙盒机制介绍)
  3. loadrunner获取本机的机器名称
  4. 如何用ajax提交多组同样的数据(数组)到后台?
  5. 了解linux下RAID(磁盘阵列)创建和管理
  6. JAVA本地远程连接linux程序监控状态
  7. C安全问题与指针误用
  8. leetcode题1Two sum 练习
  9. Splunk常用命令
  10. java实现点名,并记录被点次数
  11. Storyboard 经常用法总结-精华版
  12. deployd使用归纳
  13. execl列数据成等差递增递减
  14. JavaScript实现登录窗口的拖拽
  15. 死磕 java集合之LinkedHashMap源码分析
  16. loadrunner使用https请求
  17. java webservice生成客户端代码并调用
  18. 解决mysql使用GTID主从复制错误问题
  19. IE浏览器强制不是要兼容视图
  20. 高斯求积公式 matlab

热门文章

  1. 各种排序算法(JS实现)
  2. 暴力解说之首次部署NGINX
  3. Sublime安装与配置
  4. 力扣题目汇总(重复N次元素,反转字符串,斐波那契数)
  5. Mac设置命令别名
  6. python刷toj
  7. P2014 选课 (树形动规)
  8. LA 2797 平面区域dfs
  9. Mysql 实现篮球比赛赛程中两支队伍的查询
  10. 洛谷P3393 逃离僵尸岛