WA50分(4,5,6,7,8WA),求助
查看原帖
WA50分(4,5,6,7,8WA),求助
679630
haiqian楼主2024/6/9 20:53

rt,评测记录

#include<iostream>
#include<string.h>
#include<vector>
using namespace std;
string s;
char cmda,cmdb;
vector<char> vec;
int main(){
    int a,b,c;
    cin>>a>>b>>c;
    cin>>s;
    for(int i=0;i<s.length();++i){
        if(s[i]=='-'){
            cmda = s[i-1],cmdb = s[i+1];
            if(cmdb-cmda==1){
                continue;
                //vec.push_back(cmda);
                //vec.push_back(cmdb);
            }else if(cmda=='-' || cmdb=='-'){
                vec.push_back(s[i]);
            }else if(cmdb<=cmda){
                //vec.push_back(cmda);
                vec.push_back('-');
                //vec.push_back(cmdb);
            }else{
                //vec.push_back(cmda);
                if(c==1){
                    int mx = (int)(cmdb-cmda+1-2);
                    for(int j=1;j<=mx;++j){
                        if(cmda>='1' && cmda<='9' && cmdb>='1' && cmdb<='9'){
                            for(int k=1;k<=b;++k) vec.push_back(j+cmda);
                        }else if(a==1){
                            for(int k=1;k<=b;++k){
                                if(j+cmda>='A' && j+cmda<='Z'){
                                    vec.push_back(j+32+cmda);
                                }else{
                                    vec.push_back(j+cmda);
                                }                                
                            }
                        }else if(a==2){
                            for(int k=1;k<=b;++k){
                                if(j+cmda>='a' && j+cmda<='z'){
                                    vec.push_back(j-32+cmda);
                                }else{
                                    vec.push_back(j+cmda);
                                }
                                
                            }
                        }else if(a==3){
                            for(int k=1;k<=b;++k) vec.push_back('*');
                        }
                    }
                }else if(c==2){
                    int mx = (int)(cmdb-cmda+1-2);
                    for(int j=mx;j>=1;--j){
                        if(cmda>='1' && cmda<='9' && cmdb>='1' && cmdb<='9'){
                            for(int k=1;k<=b;++k) vec.push_back(j+cmda);
                        }else if(a==1){
                            for(int k=1;k<=b;++k){
                                if(j+cmda>='A' && j+cmda<='B'){
                                    vec.push_back(j+32+cmda);
                                }else{
                                    vec.push_back(j+cmda);
                                }                                
                            }
                        }else if(a==2){
                            for(int k=1;k<=b;++k){
                                if(j+cmda>='a' && j+cmda<='z'){
                                    vec.push_back(j-32+cmda);
                                }else{
                                    vec.push_back(j+cmda);
                                }
                                
                            }
                        }else if(a==3){
                            for(int k=1;k<=b;++k) vec.push_back('*');
                        }
                    }                        
                }          
                //vec.push_back(cmdb);      
				//i+=1;
            }
        }else{
            vec.push_back(s[i]);
        }
    }
    for(auto i=vec.begin();i!=vec.end();++i){
        cout<<*i;
    }
    return 0;
}

希望有dalao指导,谢谢

2024/6/9 20:53
加载中...