其他分享
首页 > 其他分享> > CF938A Word Correction 题解

CF938A Word Correction 题解

作者:互联网

Content

有一个长度为 \(n\) 的,只包含小写字母的字符串,只要有两个元音字母相邻,就得删除后一个元音字母(\(\texttt{a,e,i,o,u,y}\) 中的一个),请求出最后得到的字符串。

数据范围:\(1\leqslant n\leqslant 100\)。

Solution

我们遍历字符串,判断当前扫到的字符是否是元音字母,这样好在遍历到下一个字母时判断是否需要删除,不需要的话直接输出当前字符就好。

Code

string s;
int vowel = 0, n;

int main() {
	getint(n);
	cin >> s;
	_for(i, 0, n - 1) {
		if((s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u' || s[i] == 'y') && vowel) continue;
		printf("%c", s[i]);
		vowel = (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u' || s[i] == 'y');
	}
	return 0;
}

标签:int,题解,Correction,元音,字符串,vowel,CF938A,字母,leqslant
来源: https://www.cnblogs.com/Eason-AC/p/15716784.html