首页 > 其他分享 >L1-094 剪切粘贴

L1-094 剪切粘贴

时间:2024-04-02 09:01:20浏览次数:38  
标签:string s1 094 substr L1 cs c1 find 粘贴

这个题目是stl的使用和字符串拼接。
java里头substring是从首部到尾部的位置,但是C++里面substr是首部位置,和要截取的长度。
我算这种经常出错,每次都搞得很晕。

#include <bits/stdc++.h>
using namespace std;
string cs;
int main() {
	cin >> cs;
	int cnt;
	cin >> cnt;
	while (cnt--) {
		int c1, c2;
		string s1, s2;
		cin >> c1 >> c2 >> s1 >> s2;
		string subs =  cs.substr(c1 - 1, c2 - c1 + 1);//剪切的一段
		cs = cs.substr(0, c1 - 1) + cs.substr(c2);//剪切之后剩下的字符串拼在一起
		string find = s1 + s2;//待插入的两端
		if (cs.find(find) != string::npos) {//找到第一个匹配位置
			int pos = cs.find(find);
			cs = cs.substr(0,pos+s1.size()) + subs + cs.substr(pos + s1.size());
		}
		else {//找不到拼接到最后
			cs = cs + subs;
		}
	}
	cout << cs << endl;
	return 0;
}

这篇博客写法也可以:https://blog.csdn.net/m0_62531913/article/details/136774843

标签:string,s1,094,substr,L1,cs,c1,find,粘贴
From: https://www.cnblogs.com/chengyiyuki/p/18109789

相关文章

  • 深入学习MySQL1——体系结构、常见引擎、索引
    MySQL体系结构连接层:提供一些mysql的数据连接对象、用户校验、权限认证等服务服务层:在本层实现了一些核心功能,如SQL接口,缓存查询(8.0之后的版本已取消该功能)、SQL分析和优化,部分内置函数的执行。所有的跨存储引擎的功能都在这一层实现,如:过程、函数等。在该层,服务器会解析查询并......
  • L1 和 L2 正则的区别,从梯度的角度来解释
    ......
  • 复制粘贴问题
    已知字符'A',给定输入数量n,怎么用最少的操作数实现得到数量n的字符'A'操作有CtrlA,CtrlC,CtrlV,CtrlS#include<iostream>#include<vector>usingnamespacestd;intminOperations(intn){if(n==1)return0;//如果已经有一个'A',则不需要操作vector<......
  • L1-088 静静的推荐
    首先天梯赛175是基操,在这个基础上,pta达到企业要求相当于就是特招了,也就是他不会占用你这个批次的名额。将这些特招排除之后,假设175这个线还有x个人,需要s人,那么在就会要s个人(x>s,x<s那就是这个线的人全要了)。写法一:#include<bits/stdc++.h>usingnamespacestd;intscore[......
  • L1-087 机工士姆斯塔迪奥
    注:某些行or列可能重复删除,所以需要记录那些已经被删除过了。#include<bits/stdc++.h>usingnamespacestd;intmain(){ intn,m,q; cin>>n>>m>>q;//行和列数 intssize=n*m; set<int>rows,cols; while(q--){ intop,t; cin>>op>......
  • L1-083 谁能进图书馆
    捋清楚思路。#include<bits/stdc++.h>usingnamespacestd;intmain(){intlow,high,p1,p2;cin>>low>>high>>p1>>p2;//两个人的年龄都是超过a的那么都能进去//一个年龄小于a就要求另一个人的年龄大于b//一个年龄小于a另一个人的年龄不......
  • 2017天梯赛总决赛:L1-8 矩阵A乘以B
    题目描述给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra​行、Ca​列,B有Rb​行、Cb​列,则只有Ca​与Rb​相等时,两个矩阵才能相乘。输入格式:输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R......
  • L1-080 乘法口诀数列
    注:考虑两个数字乘积是0的情况。#include<bits/stdc++.h>usingnamespacestd;intres[10000];intmain(){ inta,b,c; cin>>a>>b>>c; res[0]=a; res[1]=b; intpos=2; for(inti=0;;i++){ intans=res[i]*res[i+1]; vec......
  • Qt5.14.2 剪贴板之巧——Qt让“复制粘贴“更高效
    作为现代图形界面程序的标配功能,剪贴板操作在日常办公和编程中无疑是最常见的场景之一。而在Qt的疆场内,大神们也为我们准备了一手利器——QClipboard类,让复制粘贴操作变得前所未有的简单高效。今天,就让我们一睹究竟,领略Qt大神们在这方面的非凡功力吧!一、QClipboard的惊......
  • L1-069 胎压监测
    easy.#include<bits/stdc++.h>usingnamespacestd;set<pair<int,int>>st;intmaxv=0;intmain(){ for(inti=1;i<=4;i++){ intt; cin>>t; st.insert({t,i}); maxv=max(maxv,t); } intcmp,subv; cin>>cm......