90分求救
查看原帖
90分求救
1041398
ZZZZZhanggggg楼主2024/10/5 19:13
#include <bits/stdc++.h>
using namespace std;
int p(char a){
    if(a>='0'&&a<='9'){
        return 0;
    }
    if(a>='a'&&a<='z'){
        return 1;
    }
    if(a>='A'&&a<='Z'){
        return 2;
    }
}
int main()
{
    int y1, y2, y3;
    cin >> y1 >> y2 >> y3;
    string s;
    cin >> s;
    string ans = "";

    for (int i = 0; i < s.length(); i++)
    {
        if (s[i] == '-' && s[i - 1] < s[i + 1]&&p(s[i-1])==p(s[i+1]))
        {
            string ans2 = "";
            for (char j = s[i - 1] + 1; j < s[i + 1]; j++)
            {
                for (int k = 0; k < y2; k++)
                {
                    if (y1 == 1 || y1 == 2)
                    {
                        if (isdigit(s[i - 1]) && isdigit(s[i + 1]))
                        {
                            ans2 += j;
                        }
                        else
                        {
                            if (y1 == 1)
                            {
                                if (j >= 'a' && j <= 'z')
                                {
                                    ans2 += j;
                                }
                                else
                                {
                                    ans2 += (char)(j + 32);
                                }
                            }
                            else if (y1 == 2)
                            {
                                if (j >= 'A' && j <= 'Z')
                                {
                                    ans2 += j;
                                }
                                else
                                {
                                    ans2 += (char)(j - 32);
                                }
                            }
                        }
                    }
                    else if (y1 == 3)
                    {
                        ans2 += '*';
                    }
                }
            }
            if (y3 == 1)
            {
                ans += ans2;
            }
            else
            {
                reverse(ans2.begin(), ans2.end());
                ans += ans2;
            }
            
            continue;
        }
        ans += s[i];
    }
    cout << ans;
    return 0;
}

2024/10/5 19:13
加载中...