wa12(求条)
查看原帖
wa12(求条)
1088800
Eden2027楼主2024/8/20 19:55
#include <bits/stdc++.h>
using namespace std;
struct node{
	int y;char z;
}bb[500005];
int n,m,last=-1;
string a;
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	cin>>n>>a;
	cin>>m;int mxormi=-1;
	for(int i=0;i<m;i++){
		int aa,b;char c;
		cin>>aa>>b>>c;bb[i].y=b;bb[i].z=c;
		if(aa==1){
			a[b-1]=c;
		}
		else if(aa==2){
			mxormi=1;
			last=i+1;
//			cout<<last<<endl;
		}
		else{
			mxormi=0;
			last=i+1;
//			cout<<last<<endl;
		}
//		cout<<last<<endl;
	}
	queue<int>q;
	
	if(last!=-1){
		for(int i=last;i<m;i++){
			q.push(bb[i].y);
		}
	}
//	cout<<q.size()<<" "<<q.front()<<endl;
	if(mxormi==-1)
		cout<<a;
	else if(mxormi==1){
		for(int i=0;i<a.size();i++){
			if(a[i]>='A' && a[i]<='Z' && q.front()-1!=i){
				cout<<char(a[i]-'A'+'a');
			}
			else{	
				cout<<a[i];
				if(q.front()-1==i && q.size()){
					q.pop();
				}
			}
		}
	}
	else{
		for(int i=0;i<n;i++){
			if(a[i]>='a' && a[i]<='z' && q.front()-1!=i){
				cout<<char(a[i]-'a'+'A');
			}
			else{	
				cout<<a[i];
				if(q.front()-1==i && q.size()){
//					cout<<q.size()<<" "<<q.front()<<endl;
//					cout<<a[i];
					q.pop();
				}
			}
		}
	}
	return 0;
}
2024/8/20 19:55
加载中...