求助
查看原帖
求助
1299348
RockyQ012楼主2024/8/29 13:13
#include <bits/stdc++.h>
using namespace std;
int main() {
    ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
    int p1 , p2 , p3;
    cin >> p1 >> p2 >> p3;
    string s;
    cin >> s;
    int l = s.size();
    for(int i = 0 ; i < l ; ++i) {
        if(s[i] == '-' && p1 == 1 && p3 == 1) {
           int a = s[i - 1];
           int b = s[i + 1];
           for(int j = a + 1 ; j <= b - 1; ++j) {
               for(int q = 1 ; q <= p2 ; ++q) {
                   cout << char(j);
               }
           }
        } else if(s[i] == '-' && p1 == 1 && p3 == 2) {
           int a = s[i - 1];
           int b = s[i + 1];
           for(int j = b - 1 ; j >= a + 1; --j) {
               for(int q = 1 ; q <= p2 ; ++q) {
                   cout << char(j);
               }
           }
        } else if(s[i] == '-' && p1 == 2 && p3 == 1) {
           int a = s[i - 1] - 32;
           int b = s[i + 1] - 32;
           for(int j = a + 1 ; j <= b - 1; ++j) {
               for(int q = 1 ; q <= p2 ; ++q) {
                   cout << char(j);
               }
           }
        } else if(s[i] == '-' && p1 == 2 && p3 == 2){
           int a = s[i - 1] - 32;
           int b = s[i + 1] - 32;
           for(int j = b - 1 ; j >= a + 1; --j) {
               for(int q = 1 ; q <= p2 ; ++q) {
                   cout << char(j);
               }
           }
        } else if(s[i] == '-' && p1 == 3) {
            int a = s[i - 1] - 32;
            int b = s[i + 1] - 32;
            for(int j = a + 1 ; j <= b - 1; ++j) {
               for(int q = 1 ; q <= p2 ; ++q) {
                   cout << "*";
               }
           }
        } else if(s[i] == '-' && (int)s[i - 1] + 1 == (int)s[i + 1]) {
            cout << s[i - 1] << s[i + 1];
        } else if(s[i] == '-' && (int)s[i - 1] == (int)s[i + 1]){
            cout << s[i - 1] << "-" << s[i + 1];
        } else {
            cout << s[i];
        }
    }
    return 0;
}
2024/8/29 13:13
加载中...