90pts WA on #9
查看原帖
90pts WA on #9
939020
YC_Lyy楼主2024/12/1 10:58
#include <bits/stdc++.h>
#define By return
#define YC_Lyy 0;
using namespace std;

int p1, p2, p3;
string s;

int main()
{
	cin >> p1 >> p2 >> p3;
	cin >> s;
	if (s[0] == '-')
		cout << s[0];
	for (int i = 0; i < s.size(); i++)
	{
		if (s[i] == '-' && i >= 1)
		{
			int x = s[i-1], y = s[i+1];
			
			if (y - x == 1)
			{
				if (s[i-2] == '-')
				{
					cout << s[i+1];
					continue;
				}
				cout << s[i-1] << s[i+1];
				continue;
			}
			if (x >= y)
			{
				if (s[i-2] == '-')
				{
					cout << s[i] << s[i+1];
					continue;
				}
				cout << s[i-1] << s[i] << s[i+1];
				continue;
			}
			if (s[i-1] >= 'a' && s[i-1] <= 'z' && s[i+1] >= '0' && s[i+1] <= '9' || s[i-1] >= '0' && s[i-1] <= '9' && s[i+1] >= 'a' && s[i+1] <= 'z')
			{
				if (s[i-2] == '-')
				{
					cout << s[i] << s[i+1];
					continue;
				}
				cout << s[i-1] << s[i] << s[i+1];
				continue;
			}
			if (p3 == 1)
			{
				if (p1 == 1 && (s[i-1] >= '0' && s[i-1] <= '9' || s[i-1] >= 'a' && s[i-1] <= 'z'))
				{
					if (s[i-2] != '-') cout << s[i-1];
					for (int j = 1; j < y - x; j++)
					{
						char z = x + j;
						for (int k = 1; k <= p2; k++)
							cout << z;
					}
					cout << s[i+1];
					continue;
				}
				if (p1 == 2 && s[i-1] >= 'a' && s[i-1] <= 'z')
				{
					if (s[i-2] != '-') cout << s[i-1];
					for (int j = 1; j < y - x; j++)
					{
						char z = 'A' + x + j - 'a';
						for (int k = 1; k <= p2; k++)
							cout << z;
					}
					cout << s[i+1];
					continue;
				}
				if (p1 == 3)
				{
					if (s[i-2] != '-') cout << s[i-1];
					for (int j = 1; j < y - x; j++)
						for (int k = 1; k <= p2; k++)
							cout << '*';
					cout << s[i+1];
					continue;
				}
			}
			if (p3 == 2)
			{
				if (p1 == 1 && s[i-1] >= 'a' && s[i-1] <= 'z' || s[i-1] >= '0' && s[i-1] <= '9')
				{
					if (s[i-2] != '-') cout << s[i-1];
					for (int j = 1; j < y - x; j++)
					{
						char z = y - j;
						for (int k = 1; k <= p2; k++)
							cout << z;
					}
					cout << s[i+1];
					continue;
				}
				if (p1 == 2 && s[i-1] >= 'a' && s[i-1] <= 'z')
				{
					if (s[i-2] != '-') cout << s[i-1];
					for (int j = 1; j < y - x; j++)
					{
						char z = 'A' + y - j - 'a';
						for (int k = 1; k <= p2; k++)
							cout << z;
					}
					cout << s[i+1];
					continue;
				}
				if (p1 == 3)
				{
					if (s[i-2] != '-') cout << s[i-1];
					for (int j = 1; j < y - x; j++)
						for (int k = 1; k <= p2; k++)
							cout << '*';
					cout << s[i+1];
					continue;
				}
			}
		}
		else
			if (s[i-1] != '-' && s[i+1] != '-' && (i != 0 || s[i] != '-'))
				cout << s[i];
		if (s[0] == '-' && i == 1)
			cout << s[i];
		if (s[i-1] == '-' && s[i-2] == '-')
			cout << s[i];
	}
	By YC_Lyy
}
2024/12/1 10:58
加载中...