自测样例过为什么WA!大佬救救可怜的孩子吧!
查看原帖
自测样例过为什么WA!大佬救救可怜的孩子吧!
527243
Iamzzr楼主2021/10/2 20:01
#include <bits/stdc++.h>
using namespace std;
int p1=0, p2=0, p3=0;
string s, st;
int	check1(char x, char y) {
	if(x>='a' && x<='z'&& y>='a' && y<='z') return 1;
	return 0;
}
int	check2(char x, char y) {
	if(x>='0' && x<='9'&& y>='0' && y<='9') return 1;
	return 0;
}
int main() {
	cin>>p1>>p2>>p3;
	getchar();
	getline(cin, s);
	int l=s.size();
	int	x=0;
	for(int i=0; i<l; i++) {
		if(s[i]=='-' && check1(s[i-1], s[i+1])==0 && check2(s[i-1], s[i+1])==0){
			cout<<'-';
			continue;
		} 
		else if(s[i]=='-' && s[i-1]>=s[i+1]) cout<<"-";
		if(s[i]=='-'){
			if(p3==2){
				for(int j=s[i+1]-1; j>s[i-1]; j--) {
					for(int k=1; k<=p2; k++) {
						if(p1==1) cout<<(char)j;
						else if(p1==2) cout<<(char)(j-32);
						else if(p1==3) cout<<'*';
					} 
				}
				continue;
			}
		  for(int j=s[i-1]+1; j<s[i+1]; j++) {
				for(int k=1; k<=p2; k++) {
					if(p1==1) cout<<(char)j;
					else if(p1==2) cout<<(char)(j-32);
					else if(p1==3) cout<<'*';
				} 
			}
		}
	 else cout<<s[i];
	 	
	}               
	return 0;
}
2021/10/2 20:01
加载中...