在一行输入两个整数
![]()
。
接下来一行输入一个只含小写字母的字符串
,长度为
。
再接下来
行,每行输入两个整数
和两个字符
,用空格分隔,其中
,
为小写字母。
输出一个只含小写字母的字符串,表示执行完所有操作后的最终字符串。
5 3 wxhak 3 3 h x 1 5 x a 1 3 w g
gaaak
初始字符串为 `wxhak`;
第 1 次操作将位置 3 上的 `h` 替换为 `x`,得到 `wxxak`;
第 2 次操作将位置 1 至 5 的 `x` 替换为 `a`,得到 `waaak`;
第 3 次操作将位置 1 至 3 的 `w` 替换为 `g`,得到 `gaaak`。
package main
import (
"fmt"
)
func main() {
var n,m int
fmt.Scan(&n,&m)
bytes := make([]byte, n)
for i:=0;i<n;i++{
fmt.Scanf("%c", &bytes[i])
}
// 读掉字符串的 \n
fmt.Scanf("\n")
for i:=0;i<m;i++{
var l,r int
var c1,c2 byte
fmt.Scanf("%d %d %c %c\n",&l,&r,&c1,&c2)
for i:=l-1;i<=r-1;i++{
if bytes[i] == c1 {
bytes[i] = c2
}
}
}
for i:=0;i<n;i++{
fmt.Printf("%c", bytes[i])
}
}