蒟蒻求助ABC的D题,WA21个点,求调
  • 板块学术版
  • 楼主zhangjiahe__
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/8/12 22:20
  • 上次更新2023/10/23 03:41:46
查看原帖
蒟蒻求助ABC的D题,WA21个点,求调
739120
zhangjiahe__楼主2023/8/12 22:20
#include <bits/stdc++.h>
using namespace std;
long long q, t[1000005], x[1000005], n;
char c[1000005];
char s[100005];
struct k
{
	long long wz; //最后改变大小写的位置
	int zm; //改大写(1)还是小写(0)
} lst;
int main()
{
	cin >> n >> s+1 >> q;
	for(int i = 1; i <= q; i++)
	{
		cin >> t[i] >> x[i] >> c[i];
		if(t[i] != 1) //覆盖掉前面,留最后一个
		{
			lst.wz = i;
			lst.zm = t[i]-2;
		}
	}
	for(int i = 1; i <= q; i++)
	{
		if(t[i] == 1) s[x[i]] = c[i]; //变化应该变为$c_i$的位置
		if(i == lst.wz)
		{
			for(int j = 1; j <= n; j++) //转大小写
			{
				if(lst.zm == 1) { if(s[j] >= 'a' && s[j] <= 'z') s[j] -= 32;}
				else if(s[j] >= 'A' && s[j] <= 'Z') s[j] += 32; 
			}
		}
	}
	cout << s+1;
    return 0;
}
2023/8/12 22:20
加载中...