爆0求助
查看原帖
爆0求助
310579
east_li楼主2020/10/25 21:52
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
#include<cstring> 
#define ll long long
using namespace std;
ll p1,p2,p3,n,s1,s2;
string s;
void zhuanx(ll i)
{
	if(s[i-1]>='A'&&s[i+1]<='Z')
	{
		s[i-1]+=32;
		s[i+1]+=32;
	}
}
void zhuand(ll i)
{
	if(s[i-1]>='a'&&s[i+1]<='z')
	{
		s[i-1]-=32;
		s[i+1]-=32;
	}
}
void xiao()
{
	for(ll i=0;i<n;i++)
	{
		if(s[i]!='-')
		{
			printf("%c",s[i]);
		}
		if(s[i]=='-')
		{
			if(s[i+1]<=s[i-1])
			{
//				cout<<s[i-1]<<'-'<<s[i+1];
				printf("-");
			}
			else if(s[i-1]+1==s[i+1])
			{
				continue;
			}
			else if(s[i-1]<'0'||s[i+1]>'9')
			{
				s2=s[i+1];
				zhuanx(i);
				if(p3==1)
				{
					for(char j=s[i-1]+1;j<s[i+1];j++)
					{
						for(ll k=1;k<=p2;k++)
						{
							printf("%c",j);
						}
					}
				}
				else if(p3==2)
				{
					for(char j=s[i+1]-1;j>s[i-1];j--)
					{
						for(ll k=1;k<=p2;k++)
						{
							printf("%c",j);
						}
					}
				}
				s[i+1]=s2; 
			}
			else if(s[i-1]>='0'&&s[i+1]<='9')
			{
				if(p3==1)
				{
					for(char j=s[i-1]+1;j<s[i+1];j++)
					{
						for(ll k=1;k<=p2;k++)
						{
							printf("%c",j);
						}
					}
				}
				else if(p3==2)
				{
					for(char j=s[i+1]-1;j>s[i-1];j--)
					{
						for(ll k=1;k<=p2;k++)
						{
							printf("%c",j);
						}
					}
				}
			}
		}
	}
}
void da()
{
	for(ll i=0;i<n;i++)
	{
		if(s[i]!='-')
		{
			printf("%c",s[i]);
		}
		if(s[i]=='-')
		{
			if(s[i+1]<=s[i-1])
			{
//				cout<<s[i-1]<<'-'<<s[i+1];
				printf("-");
			}
			else if(s[i-1]+1==s[i+1])
			{
				continue;
			}
			else if(s[i-1]<'0'||s[i+1]>'9')
			{
				s2=s[i+1];
				zhuand(i);
				if(p3==1)
				{
					for(char j=s[i-1]+1;j<s[i+1];j++)
					{
						for(ll k=1;k<=p2;k++)
						{
							printf("%c",j);
						}
					}
				}
				else if(p3==2)
				{
					for(char j=s[i+1]-1;j>s[i-1];j--)
					{
						for(ll k=1;k<=p2;k++)
						{
							printf("%c",j);
						}
					}
				}
				s[i+1]=s2; 
			}
			else if(s[i-1]>='0'&&s[i+1]<='9')
			{
				if(p3==1)
				{
					for(char j=s[i-1]+1;j<s[i+1];j++)
					{
						for(ll k=1;k<=p2;k++)
						{
							printf("%c",j);
						}
					}
				}
				else if(p3==2)
				{
					for(char j=s[i+1]-1;j>s[i-1];j--)
					{
						for(ll k=1;k<=p2;k++)
						{
							printf("%c",j);
						}
					}
				}
			}
		}
	}
}
void xing()
{
	for(ll i=0;i<n;i++)
	{
		if(s[i]!='-')
		{
			printf("%c",s[i]);
		}
		if(s[i]=='-')
		{
			if(s[i+1]<=s[i-1])
			{
//				cout<<s[i-1]<<'-'<<s[i+1];
				printf("-");
			}
			else if(s[i-1]+1==s[i+1])
			{
				continue;
			}
			for(ll i=1;i<(s[i+1]-s[i-1])*p3;i++)
			{
				printf("*");
			}
		}
	}
}
int main()
{
//	cin>>p1>>p2>>p3>>s;
	scanf("%lld%lld%lld%s",&p1,&p2,&p3,&s);
	n=s.length();
	if(p1==1)
		xiao();
	else if(p1==2)
		da();
	else if(p1==3)
		xing();
	return 0;
}
2020/10/25 21:52
加载中...