80分WA#7#8
查看原帖
80分WA#7#8
975726
C202301楼主2023/11/25 16:43
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
	int d1,d2,d3;
	string s;
	cin>>d1>>d2>>d3>>s;
	for(int i=0;i<s.size();i++)
	{
		if(i==s.size()-1||i==s.size()-2)
		continue;
		if(s[i]=='-')
			continue;
		if(s[i+1]=='-')
		{
			if((s[i]>='0'&&s[i]<='9')&&(s[i+2]>='a'&&s[i+2]<='z')||(s[i+2]>='0'&&s[i+2]<='9')&&(s[i]>='a'&&s[i]<='z'))
			continue;
			if(s[i]+1==s[i+2])
			{
				s.erase(i+1,1);
				continue;
			}
			if(s[i]>=s[i+2])
				continue;
			int q=(s[i+2]-s[i]-1)*d2;
			s.erase(i+1,1);
			if(d1==3)
			{
				for(int j=i;j<=i+q-1;j++)
			    s.insert(j+1,"*");
			    i+=q;
			    i++;
			    continue;
			}
			string kkk="";
			char r=s[i]+1;
			if(d1==2)
			r-=32;
			for(int j=0;j<q/d2;j++)
			{
				for(int i=1;i<=d2;i++)
				kkk+=r;
				r+=1;
			}
			if(d3==2)
			reverse(kkk.begin(),kkk.end());
			s.insert(i+1,kkk);
			i+=q;
			i++;
			continue;
		}
	}
	cout<<s;
	return 0;
}
2023/11/25 16:43
加载中...