20分求助
查看原帖
20分求助
541695
ZYCheney楼主2023/10/5 12:42
#include<bits/stdc++.h>
using namespace std;
long long P1,P2,P3;
string k;//97 65
void tian(char s,char z)
{
	cout<<1;
	if(P3==1)	
	{
		cout<<1;
		if(P1==1&&s>='a'&&s<='z'&&z<='a'&&z>='z')	
		{
			for(char i=s+1;i<z;i++)
			{
				for(int j=0;j<P2;j++)
				{
					cout<<i;
				}
			}
		}
		if(P1==3&&s>='1'&&s<='9'&&z<='9'&&z>='1')	
		{
			for(char i=s+1;i<z;i++)
			{
				for(int j=0;j<P2;j++)
				{
					cout<<"*";
				}
			}
		}
		if(P1==1)	
		{
			if(s>='1'&&s<='9'&&z<='9'&&z>='1')
			{
				for(char i=s+1;i<z;i++)
				{
					for(int j=0;j<P2;j++)
					{
						cout<<i;
					}
				}
			}
		
		}
		if(P1==2)	
		{
			if(s>='1'&&s<='9'&&z<='9'&&z>='1')
			{
				for(char i=s+1;i<z;i++)
				{
					for(int j=0;j<P2;j++)
					{
						cout<<i;
					}
				}
			}
		
		}
		if(P1==2&&s>='a'&&s<='z'&&z<='a'&&z>='z')	
		{
		
			for(char i=s+1;i<z;i++)
			{
				for(int j=0;j<P2;j++)
				{
					cout<<i-32;
				}
			}
		}
		if(P1==3&&s>='a'&&s<='z'&&z<='a'&&z>='z')	
		{
			for(char i=s+1;i<z;i++)
			{
				for(int j=0;j<P2;j++)
				{
					cout<<"*";
				}
			}
		}
	}
	if(P3==2)	
	{
		if(P1==1&&s>='a'&&s<='z'&&z<='a'&&z>='z')	
		{
			for(char i=z-1;i>s;i--)
			{
				for(int j=0;j<P2;j++)
				{
					cout<<i;
				}
			}
		}
		if(P1==2&&s>='a'&&s<='z'&&z<='a'&&z>='z')	
		{
			for(char i=z-1;i>s;i--)
			{
				for(int j=0;j<P2;j++)
				{
					cout<<i-32;
				}
			}
		}
		if(P1==3&&s>='a'&&s<='z'&&z<='a'&&z>='z')	
		{
			for(char i=s+1;i<z;i++)
			{
				for(int j=0;j<P2;j++)
				{
					cout<<"*";
				}
			}
		}
		if(P1==3&&s>='1'&&s<='9'&&z<='9'&&z>='1')	
		{
			for(char i=s+1;i<z;i++)
			{
				for(int j=0;j<P2;j++)
				{
					cout<<"*";
				}
			}
		}
		if(P1==1)	
		{
			if(s>='1'&&s<='9'&&z<='9'&&z>='1')
			{
				for(char i=z-1;i>s;i++)
				{
					for(int j=0;j<P2;j++)
					{
						cout<<i;
					}
				}
			}
			
		}
		if(P1==2)	
		{
			if(s>='1'&&s<='9'&&z<='9'&&z>='1')
			{
				for(char i=z-1;i>s;i++)
				{
					for(int j=0;j<P2;j++)
					{
						cout<<i;
					}
				}
			}
			
		}	
	}
	
}
int main()
{
//	freopen("expand.in","r",stdin);
//	freopen("expand.out","w",stdout);
	cin>>P1>>P2>>P3>>k;
	for(int i=0;i<k.size();i++)
	{
		if(k[i]!='-')
		{
			cout<<k[i];
		}
		else
		{
			if(k[i-1]+1!=k[i+1])
			{
				if(k[i-1]>='a'&&k[i+1]<='z'&&k[i-1]<='z'&&k[i+1]>='a')
				{
					
					tian(k[i-1],k[i+1]);
					
				}
				else
				{
					if(k[i-1]>='1'&&k[i+1]<='9'&&k[i-1]<='9'&&k[i+1]>='1')
					{
						tian(k[i-1],k[i+1]);
					}
					else
					{
						cout<<'-';
					}
				}
				
				
			}
		
		}
	}

	return 0;
}

求大佬帮忙看一下。

第二、三测试点错了。

代码略长。

2023/10/5 12:42
加载中...