在一行输入两个整数
![]()
。
接下来一行输入一个只含小写字母的字符串
,长度为
。
再接下来
行,每行输入两个整数
和两个字符
,用空格分隔,其中
,
为小写字母。
输出一个只含小写字母的字符串,表示执行完所有操作后的最终字符串。
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]) } }