首页 > 试题广场 >

字符串操作

[编程题]字符串操作
  • 热度指数:8909 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定长度为 n 的只含小写字母的字符串 s,以及正整数 m 次操作。
\hspace{15pt}每次操作给定两个整数 \ell,r 和两个小写字母 c_1,c_2;将字符串 s 在区间 [\ell,r] 内的所有字符 c_1 替换为 c_2
\hspace{15pt}按顺序执行完所有操作后,输出最终的字符串。

输入描述:
\hspace{15pt}在一行输入两个整数 n,m \left(1 \leqq n,m \leqq 100\right)
\hspace{15pt}接下来一行输入一个只含小写字母的字符串 s,长度为 n
\hspace{15pt}再接下来 m 行,每行输入两个整数 \ell,r 和两个字符 c_1,c_2,用空格分隔,其中 1 \leqq \ell \leqq r \leqq nc_1,c_2 为小写字母。


输出描述:
\hspace{15pt}输出一个只含小写字母的字符串,表示执行完所有操作后的最终字符串。
示例1

输入

5 3
wxhak
3 3 h x
1 5 x a
1 3 w g

输出

gaaak

说明

\hspace{8pt}\bullet\,初始字符串为 `wxhak`; 
\hspace{8pt}\bullet\,第 1 次操作将位置 3 上的 `h` 替换为 `x`,得到 `wxxak`;
\hspace{8pt}\bullet\,第 2 次操作将位置 1 至 5 的 `x` 替换为 `a`,得到 `waaak`;
\hspace{8pt}\bullet\,第 3 次操作将位置 1 至 3 的 `w` 替换为 `g`,得到 `gaaak`。

备注:

头像 Zerone·
发表于 2022-05-27 18:01:51
">int main() { int n, m, l, r; char s[1000] = {0}, c1, c2; scanf("%d %d\n%s", &n, &m, &s); for (int i = 0; i < m; i++) 展开全文
头像 欲上神秀
发表于 2022-11-01 21:36:48
#include <stdio.h> int main() {     int n, m;     scanf("%d %d", &n,&n 展开全文
头像 bsdn_n
发表于 2022-08-04 14:33:00
#include<stdio.h> #include<string.h> int main() {     int n,m,l,r;     char c1,c2; 展开全文
头像 zzfyupup
发表于 2022-06-24 16:03:35
#include<stdio.h> int main() { int m = 0, n = 0, l = 0, r = 0, i; char ch1, ch2; scanf("%d %d",&n,&m); char ch[50]={0}; 展开全文
头像 燕草如碧
发表于 2022-06-23 20:24:13
抄作业,稍有改动 n,m =map(int,input().split()) str1 =[i for i in input()] for i in range(m): l,r,ch1,ch2 = input().split() for j in range(int(l)-1,int 展开全文
头像 牛客60940838号
发表于 2022-06-29 16:03:20
n,m = map(int,input().split(' ')) s = input() for i in range(m):     l,r,c1,c2 =  展开全文
头像 克里里克kliric
发表于 2024-11-21 23:47:53
#include <stdio.h> int main() { int n, m;//字符数,行数 int l, r;//选取范围 int i = 0; char s[1000] = {0}, c1, c2; scanf("%d %d& 展开全文
头像 在写代码的贝贝很幸福
发表于 2024-11-08 20:33:18
#include <stdio.h> 借鉴了一种认为比较好的代码 int main() { int n, m, l, r; char s[1000] = {0}, c1, c2; scanf("%d %d\n%s", &n, & 展开全文
头像 诗奕
发表于 2024-02-11 19:14:25
#include <stdio.h> int main() { int n,m=0; scanf("%d %d",&n,&m); char s[100]={0}; scanf("%s",&s 展开全文
头像 番茄蛋
发表于 2022-03-01 14:33:36
卡了一下输入,其他就是常规写法 n,m = map(int, input().split()) s = input() ss = [] for i in s:    &n 展开全文