9、10WA
查看原帖
9、10WA
1184377
Glocker楼主2024/10/16 17:56
#include <bits/stdc++.h>
using namespace std;
string s;
bool check=false;
int len;
int cnt;

void do_it1(string s){
	for (char c:s) {
	    cout<<(isalpha(c)?'.':c);
	}
	cout<<endl;
}

void do_it2(string s,int cnt){
	cnt=round(1.0*cnt/3.0);
	for(int i=0;i<cnt;i++){
		if(strchr(".,:;!?- ", s[i])){
			cnt++;
		}
		cout<<s[i];
		
	}
	for (int i = cnt;i<len;i++) {
	    cout<<(isalpha(s[i])?'.':s[i]);
	}
	cout<<endl;
}
            
void do_it3(string s,int cnt,bool check){
	if(check){
		cnt=round(1.0*cnt/3.0);
		for(int i=0;i<cnt;i++){
			if(strchr(".,:;!?- ", s[i])){
				cnt++;
			}
			cout<<s[i];
		}
		for(int i=cnt;i<len;i++){
			cout<<(isalpha(s[i]) && !strchr("aeiouAEIOU",s[i])?'.':s[i]);
		}
	}else{
		cnt=round(cnt*2.0/3);
		for(int i=0;i<cnt;i++){
			if(strchr(".,:;!?- ", s[i])){
				cnt++;
			}
			cout<<s[i];
		}
		for(int i=cnt;i<len;i++){
			cout<<(isalpha(s[i])?'.':s[i]);
		}
	}
}

int main(){
	
	getline(cin,s);
	len=s.length();
	
	for (char c:s){
	    if(isalpha(c)){
	        cnt++;
	    }
	}
	
	for(int i=round(cnt/3.0);i<len;i++){
		if(strchr("aeiouAEIOU",s[i])){
			check=true;
			break;
		}
	}
	
	do_it1(s);
	do_it2(s,cnt);
	do_it3(s,cnt,check);
	
	return 0;
}
2024/10/16 17:56
加载中...