but
查看原帖
but
1235215
zlj114514zlj楼主2024/6/22 16:24
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;int n,m,ans;string s;char c;int k;
int main(){
	cin>>n>>m>>s;s=' '+s;
	for(int i=1;i<=m;i++){
		cin>>c>>k;
		if(m==n&&i==1)s[k]='W';
		else s[k]=c;
	}
	for(int i=1;i<=n;i++){
		if(s[i]=='R'){
			if(s[i-1]=='B')s[i]='W';
			if(s[i-1]=='W')s[i]='B';
		}
		if(s[i]=='M'){
			if(s[i-1]=='B')s[i]='B';
			if(s[i-1]=='W')s[i]='W';
		}
	}
	for(int i=n;i>=1;i--){
		if(s[i]=='R'){
			if(s[i+1]=='B')s[i]='W';
			if(s[i+1]=='W')s[i]='B';
		}
		if(s[i]=='M'){
			if(s[i+1]=='B')s[i]='B';
			if(s[i+1]=='W')s[i]='W';
		}
	}
	for(int i=1;i<=n;i++)if(s[i]!=s[i-1]) ans++;
	cout<<ans;
	return 0;
}
2024/6/22 16:24
加载中...