1.题目
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld
题目描述
给定长度为n的只有小写字母的字符串s,进行m次操作,每次将[l,r]范围内所有c1字符改成c2,输出操作完的字符串
输入描述:
第一行两个数n,m 第二行一个字符串s 之后m行,每行两个数l r两个字符c1 c2
输出描述:
输出一行一个字符串
示例1
输入
5 3
wxhak
3 3 h x
1 5 x a
1 3 w g
输出
gaaak
说明
第一次修改后为wxxak
第二次修改后为waaak
第三次修改后为gaaak
备注:
对于100%的数据,有1<=n , m<=100
2.分析
遍历字符数组,依次判断即可
3.代码
#include <stdio.h>
int main()
{
char s[1005]; //我这里数组开的并不大,建议开大一点儿(有时会有要求)
int n,m;
int i,j;
int Left,Right; //区间
char Be_Changed_Ch,Temp;
scanf("%d %d",&n,&m); //输入长度n 操作次数m
scanf("%s",s); //将字符串输入到s中
for(i=0;i<m;i++)
{
scanf("%d %d %c %c",&Left,&Right,&Be_Changed_Ch,&Temp);
for(j=Left-1;j<Right;j++)
{
if(s[j]==Be_Changed_Ch) //找到即更改
s[j]=Temp;
}
}
printf("%s",s); //输出更改后的
return 0;
}
4.总结
暴力遍历
5.更新日志
2022.3.29 整理