社区讨论
ABC314D
灌水区参与者 3已保存回复 15
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 15 条
- 当前快照
- 1 份
- 快照标识符
- @lo1vk9lm
- 此快照首次捕获于
- 2023/10/23 03:41 2 年前
- 此快照最后确认于
- 2023/11/03 04:11 2 年前
样例本地是过的,submit 结果 samples AC*1,WA*1,All AC*11 WA*13
不知道哪UB了还是哪写挂了qwq,求教
btw这场 Language 没有 C++(GCC 9.21)不知道为什么。。
CPP#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
inline ll read(){
ll x=0,f=1;char ch=getchar();
while(!isdigit(ch)){if(ch=='-')f=-f;ch=getchar();}
while(isdigit(ch)){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
return x*f;
}
inline void write(ll x){
if(x<0)putchar('-'),x=-x;
if(x>9)write(x/10);
putchar(x%10+'0');
}
inline void writeln(ll x){write(x),putchar('\n');}
const ll N=500005;
string s;
ll n,q,low,upp,tim[N];
char final[N];
inline char up(char x){
if(x>='A'&&x<='Z')return x;
else return (char)x-'a'+'A';
}
inline char lw(char x){
if(x>='a'&&x<='z')return x;
else return (char)x-'A'+'a';
}
int main(){
n=read();
cin>>s;s=" "+s;ll len=s.size();
q=read();
for(ll i=1,t,x;i<=q;i++){
char c;
t=read(),x=read();
cin>>c;
if(t==2)low=i;
else if(t==3)upp=i;
else{
final[x]=c;
tim[x]=i;
}
}
for(ll i=1;i<=len;i++){
if(!tim[i]){
if(!low&&!upp)cout<<s[i];
else{
if(upp>low)cout<<up(s[i]);
else cout<<lw(s[i]);
}
}else{
if(!low&&!upp)cout<<final[i];
else{
if(upp>low){
if(tim[i]<upp)cout<<up(final[i]);
else cout<<final[i];
}else{
if(tim[i]<low)cout<<lw(final[i]);
else cout<<final[i];
}
}
}
}
return 0;
}
回复
共 15 条回复,欢迎继续交流。
正在加载回复...