50分蒟蒻求助!!!
查看原帖
50分蒟蒻求助!!!
137627
wweiyuzhao楼主2021/8/30 08:32
#include<iostream>
#include<vector>
#include<queue>
#include<cstdio>
using namespace std;
int n,m,p;
vector<char>v;
string s;
int main()
{
    cin>>n>>m>>p>>s;
    for(int i=0;i<s.size();i++)
    {
        if(s[i]!='-')
        {
            v.push_back(s[i]);
        }
        else if((i==0||i==s.size()-1)&&s[i]=='-')
        {
            v.push_back('-');
        }
         else if(s[i]=='-'&&(s[i-1]=='-'||s[i+1]=='-'))
         {
            v.push_back('-');
         }
         else if(s[i]=='-')
         {
            if(s[i-1]>=s[i+1]||(s[i-1]<58&&s[i+1]>96))
            {
                v.push_back('-');
            }
            else if(s[i+1]==s[i-1]+1)
            {
                continue;
            }
            else
            {
                if(n==3)
                {
                    for(int j=1;j<=(s[i+1]-s[i-1]-1)*m;j++)
                    {
                        v.push_back('*');
                    }
                }
                else if(s[i+1]<=57&&s[i+1]>=48&&s[i-1]<=57&&s[i-1]>=48)
                {
                    if(p==1)
                    {
                        for(int j=s[i-1]+1;j<=s[i+1]-1;j++)
                        {
                            for(int k=1;k<=m;k++)
                            {
                                v.push_back(char(k));
                            }
                        }
                    }
                    else if(p==2)
                    {
                        for(int j=s[i+1]-1;j>=s[i-1]+1;j--)
                        {
                            for(int k=1;k<=m;k++)
                            {
                                v.push_back(char(k));
                            }
                        }
                    }
                }
                else if(s[i+1]<=122&&s[i+1]>=97&&s[i-1]<=122&&s[i-1]>=97)
                {
                    if(n==1)
                    {
                        if(p==1)
                        {
                            for(int j=s[i-1]+1;j<=s[i+1]-1;j++)
                            {
                                for(int k=1;k<=m;k++)
                                {                              
                                    v.push_back(char(k-32));
                                }
                            }
                        }
                    }
                }
            }
         }
    }
    for(int i=0;i<v.size();i++)
    {
        cout<<v[i];
    }
    return 0;
}

五十分求助!!!!!!!

2021/8/30 08:32
加载中...