80pts求助!7、8测试点wa了
查看原帖
80pts求助!7、8测试点wa了
1027418
luojiaheng44楼主2024/10/13 11:40

我的代码:我的代码:

#include<iostream>
using namespace std;
int p1,p2,p3;
string str;
bool cheak(char a,char b) {
    if(isdigit(a) == true && isdigit(b) == true) {
        return true;
    }
    if((a >= 'A' && a <= 'Z') || (a >= 'a' && a <= 'z')) {
        if((b >= 'A' && b <= 'Z') || (b >= 'a' && b <= 'z')) {
            return true;
        }
    }
    return false;
}
int main(){
	cin >> p1 >> p2 >> p3;
	cin >> str;
	for(int i = 0;i < str.size();i++){
		if(str[i] == '-'){
			if(str[i - 1] >= str[i + 1]) {
				cout << '-';
				continue;
			}
			if(!cheak(str[i - 1],str[i + 1])) {
				cout << '-';
				continue;
			}
			if(str[i + 1] - 1 <= str[i - 1]){
				continue;
			} else if(str[i + 1] <= str[i - 1]){
				cout << '-';
			} else if(cheak(str[i - 1],str[i + 1])){
				char ch1,ch2;
				ch1 = str[i - 1];ch2 = str[i + 1];
				if(p1 == 3){
					for(int i = ch1;i <= ch2;i++){
						for(int j = 1;j <= p2;j++) cout << '*';
					}
				} else if(p3 != 2){
					if(p1 == 1){
						for(int i = ch1 + 1;i < ch2;i++){
							for(int j = 1;j <= p2;j++){
								if(i >= 'A' && i <= 'Z'){
									cout << char(i + 32);
								} else {
									cout << char(i);
								}
							}
						}
					} else {
						for(int i = ch1 + 1;i < ch2;i++){
							for(int j = 1;j <= p2;j++){
								if(i >= 'a' && i <= 'z'){
									cout << char(i - 32);
								} else {
									cout << char(i);
								}
							}
						}
					}
				} else {
					if(p1 == 1){
						for(int i = ch2 - 1;i > ch1;i--){
							for(int j = 1;j <= p2;j++){
								if(i >= 'A' && i <= 'Z'){
									cout << char(i + 32);
								} else {
									cout << char(i);
								}
							}
						}
					} else if(p1 == 2){
						for(int i = ch2 - 1;i > ch1;i--){
							for(int j = 1;j <= p2;j++){
								if(i >= 'a' && i <= 'z'){
									cout << char(i - 32);
								} else if(isdigit(i) || (i >= 'A' && i <= 'Z')){
									cout << char(i);
								}
							}
						}
					}
				}
			}
		} else {
			cout << str[i];
		}
	}
	return 0;
}
2024/10/13 11:40
加载中...